2016-08-05 55 views
0

我正在設置合奏將CoreData同步到iCloud。 但它在發射時崩潰: [NSMapTable cde_strongToStrongObjectsMapTable]:無法識別的選擇器發送到類0x10d978c70 2016-08-05 12:48:42.502 Shooters_Journal [30266:751831] ***終止應用程序由於未捕獲的異常'NSInvalidArgumentException',原因:'+ [NSMapTable cde_strongToStrongObjectsMapTable]:無法識別的選擇器發送到類0x10d978c70'設置CDEPersistentStoreEnsemble給出了[NSMapTable cde_strongToStrongObjectsMapTable]:

我不明白這是什麼意思。我如何繼續調試? 我已經添加了我的CoreData Stack和Ensembles安裝程序。爲了記錄,該應用程序工作得很好,但沒有設置合奏。 在我的AppDelegate我有:

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool { 
// setups 


// Setup Ensemble 

     let modelURL = NSBundle.mainBundle().URLForResource("Myidentifier", withExtension: "momd") 
     cloudFileSystem = CDEICloudFileSystem(ubiquityContainerIdentifier: nil) 
     let storeURL = self.applicationDocumentsDirectory.URLByAppendingPathComponent("CoreData.sqlite") 

     ensemble = CDEPersistentStoreEnsemble(ensembleIdentifier: "ShotsStore", persistentStoreURL: storeURL, managedObjectModelURL: modelURL!, cloudFileSystem: cloudFileSystem) 
     ensemble.delegate = self 

return true 
    } 

我CoreData堆棧是默認的Xcode創建

// MARK: - Core Data stack 

    lazy var applicationDocumentsDirectory: NSURL = { 

     let urls = NSFileManager.defaultManager().URLsForDirectory(.DocumentDirectory, inDomains: .UserDomainMask) 
     return urls[urls.count-1] 
    }() 

    lazy var managedObjectModel: NSManagedObjectModel = { 

     let modelURL = NSBundle.mainBundle().URLForResource("Myidentifier", withExtension: "momd") 

     return NSManagedObjectModel(contentsOfURL: modelURL!)! 

    }() 

    lazy var persistentStoreCoordinator: NSPersistentStoreCoordinator = { 

     // Create the coordinator and store 
     let coordinator = NSPersistentStoreCoordinator(managedObjectModel: self.managedObjectModel) 
     let storeUrl = self.applicationDocumentsDirectory.URLByAppendingPathComponent("SingleViewCoreData.sqlite") 
     var failureReason = "There was an error creating or loading the application's saved data." 



     do { 
      try coordinator.addPersistentStoreWithType(NSSQLiteStoreType, configuration: nil, URL: storeUrl, options: nil) 

     } catch { 
      // Report any error we got. 
      var dict = [String: AnyObject]() 
      dict[NSLocalizedDescriptionKey] = "Failed to initialize the application's saved data" 
      dict[NSLocalizedFailureReasonErrorKey] = failureReason 

      dict[NSUnderlyingErrorKey] = error as NSError 
      let wrappedError = NSError(domain: "YOUR_ERROR_DOMAIN", code: 9999, userInfo: dict) 

      NSLog("Unresolved error \(wrappedError), \(wrappedError.userInfo)") 
      abort() 
     } 

     return coordinator 
    }() 

    lazy var managedObjectContext: NSManagedObjectContext = { 

     let coordinator = self.persistentStoreCoordinator 
     var managedObjectContext = NSManagedObjectContext(concurrencyType: .MainQueueConcurrencyType) 
     managedObjectContext.persistentStoreCoordinator = coordinator 
     return managedObjectContext 
    }() 

該應用程序編譯罰款,但開始我得到以下錯誤:

[NSMapTable cde_strongToStrongObjectsMapTable]: unrecognized selector sent to class 0x10d978c70

所有我現在是那行:

ensemble = CDEPersistentStoreEnsemble(ensembleIdentifier: "ShotsStore", persistentStoreURL: storeURL, managedObjectModelURL: modelURL!, cloudFileSystem: cloudFileSystem) 

正在導致崩潰。 我不知道是否它的persistentStoreURL,managedObjectModelURL或cloudFileSystem cousing錯誤。

回答

0

我想你忘了README中的-ObjC步驟。這將導致所有類別鏈接,這是導致缺少符號錯誤。

相關問題