我看到这个问题有点被问到,但所有答案似乎都指向了在删除上下文时尝试更新对象的原因。我不认为我这样做但是我收到错误所以我很困惑(诚然,我对管理保留和开头的参考感到不稳定)。
我有一个实体,它将用户首选项保存为基本的键值记录。其中一个是电子邮件地址。
UserPreference *prefEmailAddress;
@property (nonatomic, retain) UserPreference *prefEmailAddress;
在我的班级中,在我的ViewWillAppear方法中,我构建了一个获取请求并获取对电子邮件地址值的引用,并将UI文本框设置为该值。这很好用。
NSArray *prefs = [context executeFetchRequest:request error: &error];
if ([prefs count] > 0) {
prefEmailAddress = [prefs objectAtIndex:0];
[prefEmailAddress setValue:emailAddress.text forKey:@"prefValue"];
}
但是,在我尝试将可能修改的文本框文本保存回对象的另一种方法中,我得到了上述崩溃。
我只是这样做;
NSLog(@"Addr: %@",emailAddress.text);
// [prefEmailAddress setValue:emailAddress.text forKey:@"prefValue"];
最后一行导致异常。似乎prefEmailAddress对象应该仍然存在,但它显然不存在。
感谢您对此提出的任何提示。
答案 0 :(得分:0)
我解决了我的问题
[fetchRequest setFetchBatchSize:<INT_VALUE>];
如果在获取请求时这是在您的代码中。