我正在开发一个 iPhone 应用程序一年,并且在 iOS7 发布之前没有这样的问题。我在我的应用程序中使用核心数据。插入或获取数据等所有操作都按预期完成,但deleteObject
方法无法正常工作。这是我的代码。
-(void)clearLocalSessionListUpdates {
User* user = [self currentUser];
// only delete LSU object (cascade delete rule)
LocalSessionUpdate* lsu = user.localSessionUpdates;
if (lsu != nil){
[context deleteObject:lsu];
}
[lsu removeDeletedSessions:lsu.deletedSessions];
[lsu removeNewSessions:lsu.newSessions];
SessionUpdate* su = lsu.updatedSessions;
[su removeRate:su.rate];
[su removeEvaluation:su.evaluation];
su.timestamp = [NSNumber numberWithInt:0];
[self save];
}
在线[context deleteObject:lsu]
应用程序与EXC_BAD_ACCESS
. 它开始只出现在 iOS7 SDK(自测试版)中,我不知道如何弄清楚。另外我会说我的应用在这个地方是“线程安全的”。Core Data 的所有操作都被强制在主线程中进行。所有删除规则都设置为Nullify
.