1
我一直在關注使用NSCoding將數據保存到plist的this guide。就我所知,我一直按照指南逐步跟蹤,並查看了示例代碼,但是實際上保存數據時,似乎並沒有挽救它,也沒有調用它保存功能。我打電話通過一個按鈕來保存功能:iPhone - 將數據保存到plist文件
- (IBAction)saveAll:(id)sender {
NSLog(@"start saveall");
_conosirDoc.data.wineType = _wineType.text;
_conosirDoc.data.wineTitle = _wineTitle.text;
_conosirDoc.data.wineYear = _wineYear.text;
_conosirDoc.data.wineVolume = _wineVolume.text;
_conosirDoc.data.wineRating = _wineRating.text;
_conosirDoc.data.wineCountry = _wineCountry.text;
_conosirDoc.data.wineRegion = _wineRegion.text;
_conosirDoc.data.wineGrapes = _wineGrapes.text;
[_conosirDoc saveData];
NSLog(@"%@", _conosirDoc.data.wineType);
NSLog(@"end saveall");
}
所以當按鈕被點擊的記錄上寫着:
start saveall
(null)
end saveall
所以從那裏我設置以下的NSLog的在SAVEDATA功能:
- (void)saveData {
NSLog(@"being called?");
if (_data == nil) return;
NSLog(@"START");
[self createDataPath];
NSLog(@"END");
NSString *dataPath = [_docPath stringByAppendingPathComponent:kDataFile];
NSLog(@"%@", dataPath);
NSMutableData *data = [[NSMutableData alloc] init];
NSKeyedArchiver *archiver = [[NSKeyedArchiver alloc] initForWritingWithMutableData:data];
[archiver encodeObject:_data forKey:kDataKey];
[archiver finishEncoding];
[data writeToFile:dataPath atomically:YES];
}
因此,這些NSLogs都沒有出現在輸出中,我無法弄清楚它爲什麼沒有被正確調用。讓我知道你是否需要任何信息。
謝謝。