关键词:IOS开发基础教程、第九章、Nav、President.plist
因为自己在这里遇到一个问题,记录一下,也方便后面有人碰到这个问题可以搜索到
问题1:书本源代码中,President.plist解码有问题
即
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
// Custom initialization
self.title = @"Detail Edit";
self.rowImage = [UIImage imageNamed:@"detailEditIcon.png"];
NSString *path = [[NSBundle mainBundle] pathForResource:@"Presidents"
ofType:@"plist"];
NSData *data = [[NSData alloc] initWithContentsOfFile:path];
NSKeyedUnarchiver *unarchiver = [[NSKeyedUnarchiver alloc] initForReadingWithData:data];
self.presidents = [unarchiver decodeObjectForKey:@"Presidents"];
[unarchiver finishDecoding];
}
return self;
}
断点调试发现[unarchiver decodeObjectForKey: @"Presidents"]返回为nil
其实是源代码中President.plist有问题,我在网上找了个新的就没问题了。
问题2:重构这个项目时,President.plist同样解码失败
因为源代码提供的文件编码时类是BIDPresident,自己重构项目时这个实体类可能是起了不一样的名字,故会解码失败。
解决办法:1、改类名
2、改文件:用TextWrangler打开President.plist,把里面两个BIDPresident改为自己起的类名。
这里没有技术含量,纯粹当做自己记录,也方便他人。目前个人的水平也写不了原创的技术文章,但在这方面能帮到他人,我也乐意,也算是自己长期在网络索取的一点点付出吧。