Я попытался этим решением, которое я нашел здесь, но он не работает, и я получаю эту ошибку:Как NSData для NSDictionary?
(*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[NSManagedObject initWithCoder:]: unrecognized selector sent to instance 0x7fb7286f36c0')
Я спасаю NSDictionary данных Ключевых после преобразования его в NSData тогда мой FETCH выглядит так.
let appDel:AppDelegate = (UIApplication.sharedApplication().delegate as! AppDelegate)
let context :NSManagedObjectContext = appDel.managedObjectContext
let noteDict = NSFetchRequest(entityName: "NoteDictionary")
noteDict.returnsObjectsAsFaults = false
let dicResults : NSArray
try! dicResults = context.executeFetchRequest(noteDict)
var tempData:NSData
tempData = NSKeyedArchiver.archivedDataWithRootObject(dicResults)
let tempString = NSString(data: tempData, encoding: NSUTF8StringEncoding)
let unArchDictionary : NSDictionary? = NSKeyedUnarchiver.unarchiveObjectWithData(tempData)! as? NSDictionary
это происходит сбой на let unArchDictionary
... Любая помощь, пожалуйста !!
JZ
Привет, я думал, что эта линия разархивировав объект? вынул! все еще падает. let unArchDictionary: NSDictionary? = NSKeyedUnarchiver.unarchiveObjectWithData (tempData) как? NSDictionary –
Вы не сделали то, что я сказал! Вы достали восклицательный знак, но вы не вытащили «NSDictionary?», Как я вам сказал. Вот почему ты все еще рушишься. См. Мой ответ ниже. – matt
Спасибо Мэтту, я видел, что после и исправил проблему, также опубликовал другое решение. –