Ban đầu tôi nghĩ rằng điều này sẽ làm việc, nhưng bây giờ tôi hiểu nó sẽ không phải vì artistCollection là một NSMutableArray của "Artist" đối tượng.Lưu/Ghi NSMutableArray của đối tượng vào đĩa?
@interface Artist : NSObject {
NSString *firName;
NSString *surName;
}
Câu hỏi của tôi là cách tốt nhất để ghi vào đĩa của tôi NSMutableArray của đối tượng "Nghệ sĩ" để tôi có thể tải chúng vào lần sau khi chạy ứng dụng của mình là gì?
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];
EDIT
Rất cám ơn, chỉ có một điều cuối cùng tôi tò mò về. Nếu "Nghệ sĩ" có chứa một biến ví dụ bổ sung của NSMutableArray (softwareOwned) của các đối tượng hơn nữa (Ứng dụng) làm thế nào tôi sẽ mở rộng mã hóa để trang trải điều này? Tôi có thêm NSCoding vào đối tượng "Applications" không, sau đó mã hóa nó trước khi mã hóa "Artist" hoặc có cách nào để xác định điều này trong "Artist" không?
@interface Artist : NSObject {
NSString *firName;
NSString *surName;
NSMutableArray *softwareOwned;
}
@interface Application : NSObject {
NSString *appName;
NSString *appVersion;
}
cảm ơn nhiều
gary
Để trả lời chỉnh sửa của bạn: chỉ cần thực hiện NSCoding cho lớp ứng dụng của bạn và, trong EncodeWithCoder của nghệ sĩ: và initWithCoder :, thêm các dòng để xử lý mã hóa/giải mã của mảng có thể thay đổi. Khi được yêu cầu mã hóa chính nó, mảng sau đó sẽ yêu cầu các đối tượng Ứng dụng tự mã hóa. –
Ah tôi thấy, hoàn hảo, cảm ơn Ole. – fuzzygoat