Сбой RestKit при создании отображения для основного объекта данных

Im setup restKit с помощью следующего метода конфигурации

private func createCoreDataStack(){
    var managedObjectModel = NSManagedObjectModel.mergedModelFromBundles(nil);
    var managedObjectStore = RKManagedObjectStore(managedObjectModel: managedObjectModel)

    var error: NSError?;
    var success = RKEnsureDirectoryExistsAtPath(RKApplicationDataDirectory(), &error);
    if (success == false) {
       // RKLogError("Failed to create Application Data Directory at path '%@': %@", RKApplicationDataDirectory(), error);
    }

    var path:String! = RKApplicationDataDirectory().stringByAppendingPathComponent("DB.sqlite")
    var options = [NSMigratePersistentStoresAutomaticallyOption: NSNumber(bool: true), NSInferMappingModelAutomaticallyOption: NSNumber(bool: true)]
    var persistentStore = managedObjectStore.addSQLitePersistentStoreAtPath(path, fromSeedDatabaseAtPath: nil, withConfiguration: nil, options: options, error: &error)
    if (persistentStore == nil) {
       // RKLogError("Failed adding persistent store at path '%@': %@", path, error);
    }
    managedObjectStore.createManagedObjectContexts()
    managedObjectStore.managedObjectCache = RKInMemoryManagedObjectCache(managedObjectContext: managedObjectStore.persistentStoreManagedObjectContext)
    var client = AFHTTPClient(baseURL: NSURL(string: "https://www.google.com/api"))
    client.allowsInvalidSSLCertificate = true;
    objectManager = RKObjectManager(HTTPClient: client)

    objectManager.managedObjectStore = managedObjectStore
    managedObjectStore.createPersistentStoreCoordinator()
    RKObjectManager.setSharedManager(objectManager)

    addMapping()
}

Также создал разрыв для моей основной сущности, используя метод addMapping(), что-то вроде этого:

private func addMapping(){
    var mapping = RKEntityMapping(forEntityForName: "EntityName", inManagedObjectStore: objectManager.managedObjectStore)
    mapping.identificationAttributes = ["id"]
mapping.addAttributeMappingsFromDictionary(["id":"id","uid":"uid","name":"name" ...])
//more code goes here

При запуске кода происходит сбой в последней строке, которую я предоставил в методе addMapping() (addAttributeMappingFromDictionary) с исключением:* Завершение работы приложения из-за необработанного исключения "NSInvalidArgumentException", причина: "* setObjectForKey: ключ не может быть равен nil"

Вот часть трассировки стека:

2 CoreFoundation 0x0000000105013af8 - [__ NSDictionaryM SetObject:forKey:] + 968 3 FoodBooking 0x00000001020c2279 __50-[RKPropertyInspector propertyInspectionForClass:]_block_invoke69 + 82 4 libdispatch.dylib 0x0000000106cf4614 _dispatch_client_callout + 8 5 libdispatch.dylib 0x0000000106cda002 _dispatch_barrier_sync_f_invoke + 365 6 AppName 0x00000001020c20b5 -[RKPropertyInspector propertyInspectionForClass:] + 886 7 AppName 0x00000001020c23d5 -[RKPropertyInspector classForPropertyNamed:ofClass:isPrimitive:] + 62 8 AppName 0x0000000102081e5b -[RKEntityMapping classForKeyPath:] + 309

Я понятия не имею, что происходит, и я открыт для всех и любых предложений

0 ответов

Другие вопросы по тегам