sol*_*eil 5 exc-bad-access core-data ios
偶尔我会收到此错误:
EXC_BAD_ACCESS Code: KERN_INVALID_ADDRESS at 0x13421772123
Run Code Online (Sandbox Code Playgroud)
它发生在下面的save:行中(在CoreDataController单例类中)
NSError *error = nil;
NSManagedObjectContext *managedObjectContext = self.managedObjectContext;
if (managedObjectContext != nil) {
if ([managedObjectContext hasChanges] && ![managedObjectContext save:&error]) {
NSLog(@"Unresolved error %@, %@", error, [error userInfo]);
}
}
Run Code Online (Sandbox Code Playgroud)
我知道这不是很多代码,但从经验来看,这是有共同的原因,以及任何方法来防止这个应用程序崩溃?
lan*_*nbo 20
如果managedObjectContext是主上下文,那么你应该在主线程中调用它,尝试用下面的代码包装它,如果你在后台线程中调用它
NSManagedObjectContext *managedObjectContext = self.managedObjectContext;
if (managedObjectContext != nil) {
[managedObjectContext performBlockAndWait:^{
NSError *error = nil;
if ([managedObjectContext hasChanges] && ![managedObjectContext save:&error]) {
NSLog(@"Unresolved error %@, %@", error, [error userInfo]);
}
}];
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5210 次 |
| 最近记录: |