현재 NSKeyedArchiver와 함께 사용되는 사용자 정의 클래스를 사용하는이 블로그를 사용하고 있습니다. 모든 것이 정확 하긴하지만 "학생"의 다른 사례를 얻는 방법을 궁금해합니다. 응용 프로그램이 종료 될 때이 튜토리얼에서는 NSKeyedArchiver에서 다른 인스턴스 찾기
http://keeptheseinmind.blogspot.com/2011/10/nskeyedarchiver-tutorial.html
은, 사용자 정의 클래스 "학생"의 새로운 인스턴스는 매번 생성됩니다. 그리고 NSKeyedArchiver 내에 이러한 "students"인스턴스가 많이 있다고 가정했지만 그 중 하나만 액세스 할 수 있습니다.내가 잘못 오전마다 서로 덮어 쓰기하는 경우는, 각 시간 : 디스크에서 디스크로
- (void)loadDataFromDisk {
NSString *path = @"~/Documents/data";
path = [path stringByExpandingTildeInPath];
NSMutableDictionary *rootObject;
rootObject = [NSKeyedUnarchiver unarchiveObjectWithFile:path];
if ([rootObject valueForKey:@"student"]) {
student = [rootObject valueForKey:@"student"];
}
}
편집을
- (void)saveDataToDisk {
NSString *path = @"~/Documents/data";
path = [path stringByExpandingTildeInPath];
NSMutableDictionary *rootObject;
rootObject = [NSMutableDictionary dictionary];
[rootObject setValue:student forKey:@"student"];
[NSKeyedArchiver archiveRootObject:rootObject toFile:path];
}
로드를 저장
신청이 해지됩니다. 재미있는 ...
그러나 내 목표는 하나 이상의 NSKeyedArchiver 내에서 "students"의 많은 인스턴스를 만드는 것입니다. 어떤 아이디어라도 크게 감사 할 것입니다.
학생들의 배열 방법을 사용하고 싶습니다. 그러나 초과 근무 학생 수를 늘리고 싶습니다. 우리가 그것을 보관하고 싶을 때 반드시 준비가되지는 않을 것입니다. 먼저 archiveData 파일 안에있는 학생을보고 학생을 추가하고 싶습니다. 방금 파일을 압축 해제 한 다음 파일을 보관하여 파일을 저장하려고 시도했지만 그 위에 아카이브를 저장했지만 지금은 아무 것도 저장되지 않은 것처럼 보입니다. – freedom
그러나, 내 필요에, 그냥 새로운 열쇠 방법론을 시도! Mucho Gracias! :) 위대한 아이디어! – freedom
그리고 ... 그걸 얻은 후, NSMutableArray로 돌아가서 작동하게했습니다 :)! 먼저 NSMutableArray를 rootObject로 설정하고 addObject 메소드를 사용했습니다. 이 경우에는 키가 사용되어서는 안됩니다. – freedom