我編碼是這樣的:NSKeyedUnarchiver不能解碼回我保存的對象
NSMutableData *data = [[NSMutableData alloc] init];
NSKeyedArchiver *archiver = [[NSKeyedArchiver alloc] initForWritingWithMutableData:data];
[archiver encodeObject:data forKey:@"Object"];
[archiver finishEncoding];
然後,從磁盤獲取已保存的文件後,我試着像這樣解碼:
Object *object = (Object*)[unarchiver decodeObjectForKey:@"Object"];
問題這是不會解碼回Object *類型的。它仍然是NSMutableData。所以當我嘗試訪問對象的一些屬性,如「object.name」時,我得到 - [NSConcreteMutableData name]:無法識別的選擇器發送到實例0x2c8510'。
我跟隨了Ray Wenderlich的教程http://www.raywenderlich.com/1914/how-to-save-your-app-data-with-nscoding-and-nsfilemanager。即使他的代碼有效,我的代碼不會。所以經過一整天的討論,我正在尋求一些幫助。