我一直在整天努力解決我發現的錯誤,該錯誤是NSInternalInconsistencyException
錯誤。我收到的錯誤控制檯消息是 「此NSPersistentStoreCoordinator沒有持久性存儲,它不能執行保存操作。」我也得到「執行被中斷,原因:EXC_BAD_ACCESS(代碼= 1,地址= 0x1)」。NSInternalInconsistencyException:無法獲取NSPersistentStore來啓動或創建商店
我在我的應用程序委託下面的代碼:
- (void)saveContext
{
NSError *error = nil;
NSManagedObjectContext *managedObjectContext = self.managedObjectContext;
if (managedObjectContext != nil) {
if ([managedObjectContext hasChanges] && ![managedObjectContext save:&error]) {
NSLog(@"Unresolved error %@, %@", error, [error userInfo]);
abort();
}
}
}
#pragma mark Core Data stack
- (NSManagedObjectContext *)managedObjectContext {
if (_managedObjectContext != nil) {
return _managedObjectContext;
}
NSPersistentStoreCoordinator *coordinator = [self persistentStoreCoordinator];
if (coordinator != nil) {
_managedObjectContext = [[NSManagedObjectContext alloc] init];
[_managedObjectContext setPersistentStoreCoordinator: coordinator];
}
return _managedObjectContext;
}
- (NSManagedObjectModel *)managedObjectModel {
if (_managedObjectModel != nil) {
return _managedObjectModel;
}
_managedObjectModel = [NSManagedObjectModel mergedModelFromBundles:nil];
return _managedObjectModel;
}
- (NSPersistentStoreCoordinator *)persistentStoreCoordinator
{
if (_persistentStoreCoordinator != nil) {
return _persistentStoreCoordinator;
}
NSURL *storeURL = [[self applicationDocumentsDirectory] URLByAppendingPathComponent:@"shindy.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;
}
#pragma mark Application's documents directory
- (NSURL *)applicationDocumentsDirectory
{
return [[[NSFileManager defaultManager] URLsForDirectory:NSDocumentDirectory inDomains:NSUserDomainMask] lastObject];
}
我已經throughly閱讀了關於類似這樣的其他問題,看來我的代碼是一致的,我不應該有這個問題。然而,我...
我已經嘗試清洗&刪除應用程序並重新安裝。我在模擬器上的設備&上嘗試了該應用程序。我將附加的URLPath名稱「shindy.sqlite」更改爲我之前沒有使用的各種名稱。我也嘗試在我的applicationDidFinishLaunching
方法中強制實例化[self saveContext];
,試圖讓我的應用創建商店。
我所有的解決問題的嘗試都只是簡單地返回相同的錯誤。我不知道還有什麼要嘗試。
您是否嘗試清理項目,將其從模擬器/設備上刪除,然後運行? –
您是否嘗試清潔項目,然後將其從手機/模擬器上刪除? –
是的,我做到了。我忘了包括我嘗試過的。 – jakenberg