新手求教,用decodeObjectForKey解码归档文件,返回总是nil

独自一人的昵称谁用了 2014-03-26 12:43:36
代码如下:
  self.title = @"Detail Edit";
self.rowImage = [UIImage imageNamed:@"detailEditIcon.png"];

NSString *path = [[NSBundle mainBundle] pathForResource:@"Presidents"
ofType:@"plist"];
//self.presidents = [[NSMutableArray alloc] initWithContentsOfFile:path];
NSData *data = [[NSData alloc] initWithContentsOfFile:path];
NSKeyedUnarchiver *unarchiver = [[NSKeyedUnarchiver alloc] initForReadingWithData:data];
self.presidents = [unarchiver decodeObjectForKey:@"Presidents"];
[unarchiver finishDecoding];


断点调试了,[unarchiver decodeObjectForKey:@"Presidents"]返回总是nil。
我是照着精通IOS开发(第5版)这本书上的代码写的,难道和平台有关,书上的代码是IOS6的,我将这本书提供的源码跑了一遍到这块也是nil,难道在IOS7上这个方法不能这么用了?
Presidents.plist文件截图如下:


这个文件我放在百度网盘上了,有了解的下来看看是不是plist文件的问题导致key值没解出来?
http://pan.baidu.com/s/1bnowojH

...全文
190 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
NodeClassWizard 2014-12-16
  • 打赏
  • 举报
回复
我也遇到了这个问题,试了版主的方法,返回的还是nil。。。。
ReyZhang 2014-03-26
  • 打赏
  • 举报
回复
试试这样反序列化
NSData *data = [[NSData alloc] initWithContentsOfFile:path];
id dict=[NSKeyedUnarchiver unarchiveObjectWithData:data ]; 
self.presidents =dict[@"Presidents"];
NSLog(@">>>>president:%@",self.presidents);

29,027

社区成员

发帖
与我相关
我的任务
社区描述
主要讨论与iOS相关的软件和技术
社区管理员
  • iOS
  • 大熊猫侯佩
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧