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
그래서 거기에서 나는하여하고 saveData 기능에 NSLog의 다음 설정 :
를- (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];
}
그리고이 NSLog는 출력에 나타나지 않으며 제대로 호출되지 않는 이유는 없습니다. 더 이상 정보가 필요하면 알려주세요.
감사합니다.