처음에는 이것이 작동 할 것이라고 생각했지만, 이제는 artistCollection이 "아티스트"객체의 NSMutableArray이기 때문에 이해하지 못할 것입니다.개체의 NSMutableArray를 디스크에 저장/쓰기 하시겠습니까?
@interface Artist : NSObject {
NSString *firName;
NSString *surName;
}
내 질문은 최고의 디스크에 기록하는 방법 "아티스트"오브젝트의 내 NSMutableArray를 내가 그들에게 내 응용 프로그램을 실행할 때로드 할 수 있도록이 무엇입니까? 한 최종 것은
artistCollection = [[NSMutableArray alloc] init];
newArtist = [[Artist alloc] init];
[newArtist setFirName:objFirName];
[newArtist setSurName:objSurName];
[artistCollection addObject:newArtist];
NSLog(@"(*) - Save All");
[artistCollection writeToFile:@"/Users/Fgx/Desktop/stuff.txt" atomically:YES];
편집
많은 감사, 나는 궁금합니다. "아티스트"에 추가 객체 (응용 프로그램)의 NSMutableArray (softwareOwned)라는 추가 인스턴스 변수가 포함 된 경우이를 처리하기 위해 인코딩을 어떻게 확장합니까? NSCoding을 "Applications"객체에 추가 한 다음 "Artist"를 인코딩하기 전에 인코딩 할 것인가, 아니면 "Artist"에서 이것을 지정하는 방법이 있습니까?
@interface Artist : NSObject {
NSString *firName;
NSString *surName;
NSMutableArray *softwareOwned;
}
@interface Application : NSObject {
NSString *appName;
NSString *appVersion;
}
많은 감사
게리
이 편집에 대답하려면 :이와
, 당신은 컬렉션을 인코딩 할 수 있습니다 당신의 응용 프로그램 클래스 NSCoding를 구현 아티스트의 encodeWithCoder : 및 initWithCoder :에서 변경 가능한 배열의 인코딩/디코딩을 처리하는 줄을 추가합니다. 자체적으로 인코딩하라는 요청을 받으면 배열은 Application 객체가 자신을 인코딩하도록 요청합니다. –
아, 알았어, 완벽, 고마워. 올레. – fuzzygoat