0
我正在開發一個OS X應用程序,它使用單線程的Core Data模型而沒有嵌套上下文。NSManagedObjectContext保存不成功,但返回nil錯誤
我在defaultContext的主線程上創建了對象,並在創建後嘗試保存它們,但保存失敗而未返回錯誤。我沒有覆蓋我的CoreData對象中的任何方法,但我正在使用最新版本的MagicalRecord。
失敗代碼:
// pseudocode for createOrFetchWithData:inContext:
// fetch object from value in objectDict
// if(!object) create project in context
// [object importValuesForKeysWithObject:objectData] // MR method
// return object
MyObject *object = [MyObject createOrFetchWithData:objectData
inContext:[NSManagedObjectContext defaultContext]];
if(!object) return; // just to emphasise that I am sure the object is not nil.
[[NSManagedObjectContext defaultContext] saveOnlySelfWithCompletion:^(BOOL saveSuccessful, NSError *error) {
if(saveSuccessful) {
NSLog(@"yay");
} else {
NSLog(@"nay");
}
}];
的[NSManagedObjectContext defaultContext]
返回值是不是nil,我已經驗證碼主線程上執行。
我在MyObject *object
中沒有設置關係,但在數據模型中標記爲optional
。
任何想法是什麼可能導致這種簡單的操作失敗?我有其他的實體保存得很好,但這個特殊的情況失敗了。
注:我正在運行OS X小牛DP 8