- [NSCFDictionary initWithObjects: forKeys: count:]: попытка вставить нулевое значение в объекты [0] (ключ: sourceRelationship) - PullRequest
4 голосов
/ 27 октября 2011

У меня очень плохая ночь с этим. Я запускаю и тестирую свой код на iOS 5.0, так как мне пришлось быстро обновить .. У меня были проблемы с установкой, поэтому 4.3 Simulator не был доступен для меня до недавнего времени. Я (как и думал) решил все свои легкие проблемы с переносом Core Data. Сегодня вечером я запустил приложение в симуляторе 4.3 и на iPad под управлением 4.3. То, что я нашел, было ужасно.

Эта ошибка каждый раз:

2011-10-27 07: 01: 44.045 AppName [924: 10d03] * Завершение приложения из-за необработанное исключение 'NSInvalidArgumentException', причина: '* - [NSCFDictionary initWithObjects: forKeys: count:]: попытка вставить нулевое значение в объекты [0] (ключ: sourceRelationship) ' * Стек вызовов при первом броске: (0 CoreFoundation 0x018655a9 exceptionPreprocess + 185 1 libobjc.A.dylib
0x01a66313 objc_exception_throw + 44 2 CoreFoundation
0x017aedcb - [__NSPlaceholderDictionary initWithObjects: forKeys: count:] + 587 3 CoreFoundation 0x017c76da + [словарь NSDictionaryWithObject: forKey:] + 74 4 CoreData 0x0135bdea - [_ NSSQLTableMigrationDescription appendStatementsToPrepareForMigration :igrationContext:] + 1178 5
CoreData 0x01357254 - [_ NSSQLiteStoreMigrator createEntityMigrationStatements] + 356 6 CoreData 0x01356246 - [_ NSSQLiteStoreMigrator executeMigration:] + 86 7 CoreData 0x0135c78f - [NSSQLiteInPlaceMigrationManager migrateStoreFromURL: Тип: Варианты: withMappingModel: toDestinationURL: DestinationType: destinationOptions: ошибка:] + 1039 8 CoreData 0x013414ca - [NSStoreMigrationPolicy (InternalMethods) migrateStoreAtURL: toURL: storeType: параметры: withManager: ошибка:] + 154 9 CoreData 0x01342052 - [NSStoreMigrationPolicy migrateStoreAtURL: withManager: метаданные: параметры: ошибка:] + 146 10 CoreData 0x01342f83 - [NSStoreMigrationPolicy (InternalMethods) _gatherDataAndPerformMigration:] + 1315 11 CoreData 0x01256aec - [NSPersistentStoreCoordinator addPersistentStoreWithType: конфигурация: URL: опции: ошибка:] + 2412 12 AppName 0x0007aae7 - [AppDelegate persistentStoreCoordinator] + 791 13 AppName 0x0007a621 - [AppDelegate managedObjectContext] + 97 14 AppName 0x0007c3cd - [AppDelegate getSettings] + 125 15 AppName
0x00078160 - [BagAppDelegate refreshSettings] + 48 16 AppName 0x00077cd7 - [AppDelegate application: didFinishLaunchingWithOptions:] + 391 17 UIKit 0x00409c89 - [UIApplication _callInitializationDelegatesForURL: полезная нагрузка: приостановлено:] + 1163 18 UIKit 0x0040bd88 - [UIApplication _runWithURL: полезная нагрузка: launchOrientation: statusBarStyle: statusBarHidden:] + 439 19 дескриптор UIKit 0x00416617 - UIA + UEFE: - UIA + UXND - UIA + UXN: - UIA / UE: UD: - UIA, UE, UI, UI, UI, UI, UI, UI, UI, UE, UI, UX, UI, UX, UI,. sendEvent:] + 71 21 UIKit
0x00413f2e _UIApplicationHandleEvent + 7576 22 GraphicsServices
0x01f03992 PurpleEventCallback + 1550 23 CoreFoundation
0x01846944 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION
+ 52 24 CoreFoundation 0x017a6cf7 __CFRunLoopDoSource1 + 215 25 CoreFoundation 0x017a3f83 __CFRunLoopRun + 979 26 CoreFoundation
0x017a3840 CFRunLoopRunSpecific + 208 27 CoreFoundation
0x017a3761 CFRunLoopRunInMode + 97 28 UIKit
0x0040b7d2 - [UIApplication _run] + 623 29 UIKit
0x00417c93 UIApplicationMain + 1160 30 AppName
0x0000232d main + 125 31 AppName
0x000022a5 старт + 53

и это показывает, что ошибка здесь, когда я устанавливаю persistentStoreCoordinator:

NSError *error;
if (![persistentStoreCoordinator addPersistentStoreWithType:NSSQLiteStoreType configuration:nil URL:storeUrl options:options error:&error]) {
    // Update to handle the error appropriately.
    NSLog(@"App Delegate - persistentStoreCoordinator Save Error %@, %@", error, [error userInfo]);
    exit(-1);  // Fail
}  
return persistentStoreCoordinator;

Я почти уверен, что последний код в порядке - у меня никогда не было с этим проблем.

Ошибка явно связана с облегченной миграцией, и на всю жизнь я не могу понять, что именно. Я сидел здесь в слезах в течение нескольких часов (но я девушка, так что все в порядке .. JK), и ничего не работает, и я не получил никакой хорошей информации из поисков Google.

Я не обновляю существующее приложение, просто пытаюсь установить новое, когда это происходит.

Я действительно отчаянно нуждаюсь в помощи, обычно у меня есть некоторое представление о том, что делать, но сейчас я так потерян в космосе. Заранее благодарим за любые идеи.

РЕДАКТИРОВАТЬ: Думал, что это может быть связано с восстановлением прав доступа к диску. Не сработало Похоже, что с картографической моделью что-то не так. Я предполагаю, что это будет автоматически созданный (ые), потому что я не создал ни одного.

1 Ответ

3 голосов
/ 27 октября 2011

Не совсем ответ, но несколько вещей, о которых вы могли бы подумать, чтобы попытаться отследить проблему:

  • Верны ли значения storeURL и options на момент вызова?

  • Когда произойдет сбой, должна ли произойти миграция? (т.е. находится ли база данных в состоянии до текущей модели)? Вы получаете сбой при запуске с пустой базой данных?

  • Сколько у вас моделей? Не могли бы вы удалить некоторые, чтобы попытаться отследить, какая из них вызывает проблему?

...