我甚至不确定我是否说明了这一点,但我正在尝试复制用户创建的coredata对象intstance,并且很难搞清楚它.
我有一个对象(问题)从中拉出来managedObjectContext.
这来自我的数据库中有很多问题的测验.
我在内存中有一个名为question1的Question实例.我想将question1复制到一个名为question2的实例.
Question *question2 = question1;
Run Code Online (Sandbox Code Playgroud)
有时工作但有时也崩溃(我知道它不是正确的方法)
我一直在搞乱NSCopying和-(id)copyWithZone:(NSZone *)区域,但我只是得到了一个空白的实例.
如果有人能提供帮助,那将非常感谢!
这里有一些细节.
我有问题1它是问题的一个实例.例如,question1.answer将返回问题的答案.
我想简单地将问题1复制到问题2.我不需要在数据模型中存储question2或者我只需要在循环中使用它然后释放.
基本上我想这样做:
Question *question2 = question1;
NSLog(@"%@", question2.answer)
Run Code Online (Sandbox Code Playgroud)
以上是有时工作但有时我在nslog行上遇到随机崩溃.
我Transaction在我的Core Data应用程序中添加了一些名为s的对象.这些交易与帐户相关联.
我想在保存所有交易时更新帐户金额.有时会出现并发异常
"收集在被列举时发生变异"
NSArray *matches = [managedObjectContext executeFetchRequest:request error:&error];在accountManagedObjectWithId方法中排队.
//TransactionsManager
- (BOOL)addRepeatTransaction:(Transaction *)transaction{
Account *accountTrx = transaction.account;
double accountAmount = accountTrx.amount;
for (int i =0; i<nbRepeat; i++){
accountAmount +=transactionBiz.amount;
[[Persister instance] registerTransaction:transaction];
}
[[Persister instance]editAmountAccount:transaction.account amount:accountAmount];
[[Persister instance]saveContext];
return YES;
}
//Persister
-(id)init {
if (self = [super init]){
managedObjectContext = [appDelegate managedObjectContext];
return self;
}
return nil;
}
-(BOOL)registerTransaction:(Transaction *)transaction {
TransactionManagedObject *transactionsRow = (TransactionsManagedObject *)[NSEntityDescription insertNewObjectForEntityForName:@"Transactions" inManagedObjectContext:managedObjectContext];
transactionsRow.idTransaction = [NSNumber numberWithInt:transaction.idTransaction];
transactionsRow.name …Run Code Online (Sandbox Code Playgroud) 获取记录时如何获取最新记录?
例如:
现在当我拿它
SomeDatabase *Country = [SomeDatabase MR_findFirst];
NSLog(@"Country Name---->%@",Country.Name);
Run Code Online (Sandbox Code Playgroud)
我得到"新加坡",
我想把最后一条记录插入到coredata,它应该是"USA".
我正在创建一个简单的应用程序,用户可以创建使用CoreData保存的多个对象.
我的问题是,我希望每个对象都有一个链接到它的图像.图像由iphone相机或用户个人相机胶卷带来,因此图像将具有相当高的重量(我认为每个> 1MB).我读到当图像的权重很高时,处理这个问题的好方法是将图像保存在documentsDirectory文件夹中,并保存到coreData的路径.我很容易实现这一点.
但是如何找到要链接到唯一对象的图像的路径名?CoreData并没有真正处理唯一的ID,并且两个对象可以具有相同的名称...我搜索了objectID,但它的工作效果并不好,我不确定这是处理这个问题的好方法.
你有什么主意吗?还有一种我完全失踪的简单方法吗?先感谢您.
我想确保我正在使用的NSManagedObject具有永久NSManagedObjectID.我知道它只在[NSManagedObjectContext save:]或[NSManagedObjectContext obtainPermanentIDsForObjects:error:]上永久化.但是,在我保存上下文以获取永久ID之前,有没有办法确定对象是否具有永久ID?这样我就不会不必要地保存商店.
我正在使用Core Data来保存一些字符串.我有以下类名为Results
Results.h
#import <CoreData/CoreData.h>
@interface Results : NSManagedObject
@property(nonatomic, retain) NSString *lessondate;
@property(nonatomic, retain) NSString *lesson;
@property(nonatomic, retain) NSString *location;
@property(nonatomic, retain) NSString *start;
@property(nonatomic, retain) NSString *end;
@end
Run Code Online (Sandbox Code Playgroud)
Results.m
#import "Results.h"
@implementation Results
@dynamic lessondate;
@dynamic lesson;
@dynamic location;
@dynamic start;
@dynamic end;
@end
Run Code Online (Sandbox Code Playgroud)
以下是我执行保存的代码:
-(void)saveLesson{
Results *result = (Results *)[NSEntityDescription insertNewObjectForEntityForName:@"Diary" inManagedObjectContext:managedObjectContext];
result.lessondate = calendarDateString;
result.lesson = [NSString stringWithFormat:@"%@", lessonText.text];
result.location = [NSString stringWithFormat:@"%@", locationTest.text];
result.start = [NSString stringWithFormat:@"%@", startTimeText.text];
result.end = [NSString stringWithFormat:@"%@", endTimeText.text];
NSError *error; …Run Code Online (Sandbox Code Playgroud) 我正在尝试获取核心数据库的记录,但它给了我以下错误.
错误 - [__ NSDictionaryM intValue]:无法识别的选择器发送到实例0x13f26a60
在线
NSArray *results = [moc executeFetchRequest:request error:&error];
Run Code Online (Sandbox Code Playgroud)
这是获取请求的完整代码.
NSManagedObjectContext *moc = [delegate managedObjectContext];
NSPredicate *predicate =[NSPredicate predicateWithFormat:@"NOT (serverId IN %@)", a];
[request setEntity:[NSEntityDescription entityForName:@"Categories" inManagedObjectContext:moc]];
[request setPredicate:predicate];
NSError *error = nil;
id results = [moc executeFetchRequest:request error:&error];
NSLog(@"results %@",results);
// error handling code
[request release];
Run Code Online (Sandbox Code Playgroud) 从以下源文件,我尝试加载图像并保存到Core数据,并在imageView中显示,但它不起作用你可以帮我修复它.
- (IBAction)save:(id)sender
{
NSLog(@"Telling the AddTrackingTVC Delegate that save was tapped on the AddTrackingTVC");
[self.delegate theSaveButtonOnTheAddPlantNoteTVCWasTapped:self];
MyPlant *myTracking = [NSEntityDescription insertNewObjectForEntityForName:@"MyPlant" inManagedObjectContext:self.managedObjectContext];
myTracking.name = nameTextField.text;
myTracking.detail = detailTextField.text;
myTracking.createdDate = [NSDate date];
//myTracking.photo = [NSData ];
[self.managedObjectContext save:nil]; // write data to database
[self.delegate theSaveButtonOnTheAddPlantNoteTVCWasTapped:self];
}
- (IBAction)takePicture:(id)sender {
UIImagePickerController *imagePicker = [[UIImagePickerController alloc] init];
// If our device has a camera, we want to take a picture, otherwise, we // just pick from photo library
if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera]) …Run Code Online (Sandbox Code Playgroud) NSManagedObjectContext调用持久存储和父上下文设置和保存时会发生什么?它会将数据逐个推送到持久存储和父上下文吗?或者它会同时进行吗?或核心数据是否会引发抱怨异常?
API不直接阻止一个人为给定的上下文设置两个"父母".
我的CoreData数据库中有对象具有类型为NSDate的"date"属性.如何获取10个最快日期的对象?
这是我到目前为止:
NSFetchRequest *fetchRequest = [NSFetchRequest new];
fetchRequest.entity = [NSEntityDescription entityForName:NSStringFromClass([MyManagedObject class]) inManagedObjectContext:self.database.managedObjectContext];
NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"date" ascending:YES];
[fetchRequest setSortDescriptors:[NSArray arrayWithObject:sortDescriptor]];
NSArray *result = [self.database.managedObjectContext executeFetchRequest: fetchRequest error: nil];
Run Code Online (Sandbox Code Playgroud)
我相信这会以排序的顺序返回给我所有的托管对象,但我真的只需要最新的10个.我怎样才能做到这一点?使用一个NSFetchRequest而不是将它们全部取出然后以编程方式对它们进行排序会更快吗?