NSMutableArray
カスタムオブジェクトを保存するにはどうすればよいですか? ファイルをロードおよび保存するための次のコードがあります。
- (NSMutableArray *)loadDataFromFile:(NSString *)fileName {
NSError *error;
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *docDir = [paths objectAtIndex:0];
NSString *path = [docDir stringByAppendingPathComponent:fileName];
NSFileManager *fileMgr = [NSFileManager defaultManager];
if (![fileMgr fileExistsAtPath:path]) {
NSArray *fileArray = [fileName componentsSeparatedByString:@"."];
NSString *name = [fileArray objectAtIndex:0];
NSString *ext = [fileArray objectAtIndex:1];
NSString *bundle = [[NSBundle mainBundle] pathForResource:name ofType:ext];
[fileMgr copyItemAtPath:bundle toPath:path error:&error];
}
NSMutableArray *data = [[NSMutableArray alloc] initWithContentsOfFile:path];
return data;
}
- (void)saveData:(NSMutableArray *)arrayData toFile:(NSString *)filename forKey:(NSString *)key {
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *docDir = [paths objectAtIndex:0];
NSString *path = [docDir stringByAppendingPathComponent:filename];
[arrayData writeToFile: path atomically:YES];
NSLog(@"%@", arrayData);
}
しかし、ファイル名として使用すると、リストのカスタムオブジェクトアドレスが返さdata.plist
れるため、機能しませんでした:NSLog(@"%@", arrayData);
「エリアテーブルレコード: 0x76a7ef0」
このカスタム オブジェクトは、次のコードを使用して配列に挿入されます。
AreaTableRecord *area=[[AreaTableRecord alloc] init];
area.title=title;
area.lastScore=0;
area.vocabulary=[[NSMutableArray alloc] init];
[self.areas addObject:area];
NSMutableArray
self.areas
カスタム オブジェクト AreaTableRecord を含むものを保存するにはどうすればよいですか? このデータを保存するために使用するファイル形式は? (この場合、plistは機能していないようです)