2012-01-25 68 views
1

我看到這個問題已被問了一下,但所有的答案似乎指出,當上下文已被刪除,試圖更新一個對象的原因。我不認爲我這樣做,但我得到的錯誤,所以我感到困惑(誠然,我不願意管理保​​留和參考開始)。NSObjectInaccessibleException CoreData無法履行故障 - 仍然困惑

我有一個實體保存用戶首選項本質上是鍵值記錄。其中之一是電子郵件地址。

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

我通過獲取請求時,在你的代碼去除

[fetchRequest setFetchBatchSize:<INT_VALUE>]; 

,如果這是我的解決。

+0

什麼?這沒有任何意義... –