關鍵詞: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改爲自己起的類名。
這裏沒有技術含量,純粹當做自己記錄,也方便他人。目前個人的水平也寫不了原創的技術文章,但在這方面能幫到他人,我也樂意,也算是自己長期在網絡索取的一點點付出吧。