0
我有IOS9之前工作的代碼。在我編譯了一些其他更改後,代碼現在在下面的代碼中的行與BAD ACCESS消息一起死亡。我不能理解爲什麼這個曾經工作,現在它沒有。setPersistentStoreCoordinator核心數據不良訪問
[_managedObjectContext setPersistentStoreCoordinator:coordinator]; < < <此行崩潰 - 錯誤訪問
#pragma mark - Core Data stack
- (void)setmanagedObjectContext
{
if (_managedObjectContext != nil) {
return ;
}
NSPersistentStoreCoordinator *coordinator = [self persistentStoreCoordinator];
if (coordinator != nil)
{
_managedObjectContext = [NSManagedObjectContext alloc];
**[_managedObjectContext setPersistentStoreCoordinator:coordinator];<<< THIS LINE CRASHES - BAD ACCESS**
}
}
// Returns the managed object model for the application.
// If the model doesn't already exist, it is created from the application's model.
- (NSManagedObjectModel *)managedObjectModel
{
if (_managedObjectModel != nil) {
return _managedObjectModel;
}
NSURL *modelURL = [[NSBundle mainBundle] URLForResource:@"wrh" withExtension:@"momd"];
_managedObjectModel = [[NSManagedObjectModel alloc] initWithContentsOfURL:modelURL];
return _managedObjectModel;
}
// Returns the persistent store coordinator for the application.
// If the coordinator doesn't already exist, it is created and the application's store added to it.
- (NSPersistentStoreCoordinator *)persistentStoreCoordinator
{
if (_persistentStoreCoordinator != nil) {
return _persistentStoreCoordinator;
}
NSURL *storeURL = [[self applicationDocumentsDirectory] URLByAppendingPathComponent:@"wrh.sqlite"];
NSError *error = nil;
_persistentStoreCoordinator = [[NSPersistentStoreCoordinator alloc] initWithManagedObjectModel:[self managedObjectModel]];
if (![_persistentStoreCoordinator addPersistentStoreWithType:NSSQLiteStoreType configuration:nil URL:storeURL options:nil error:&error]) {
NSLog(@"Unresolved error %@, %@", error, [error userInfo]);
abort();
}
return _persistentStoreCoordinator;
}
否[[_managedObjectContext initWithConcurrencyType:...]'? – Willeke
謝謝你的回覆,但我不明白你在說什麼?我應該在某處添加嗎?正如我所說,這在IOS 9之前工作,所以很難想知道現在需要什麼。 –
你改變了什麼? – Willeke