我正在开发iPhone应用程序一年,并且在iOS7发布之前没有这样的问题。我在我的应用程序中使用Core Data。插入或获取数据等所有操作都按预期完成,但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
。