NSObjectInaccessibleException CoreData无法完成错误 - 仍然困惑

时间:2012-01-25 18:22:40

标签: iphone ios core-data

我看到这个问题有点被问到,但所有答案似乎都指向了在删除上下文时尝试更新对象的原因。我不认为我这样做但是我收到错误所以我很困惑(诚然,我对管理保留和开头的参考感到不稳定)。

我有一个实体,它将用户首选项保存为基本的键值记录。其中一个是电子邮件地址。

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对象应该仍然存在,但它显然不存在。

感谢您对此提出的任何提示。

1 个答案:

答案 0 :(得分:0)

我解决了我的问题

[fetchRequest setFetchBatchSize:<INT_VALUE>];

如果在获取请求时这是在您的代码中。