既存のファイルがあり、その内容を削除してから再度書き込みたいのですが、1行ずつ追加するだけです。これが私のコードで、なぜそれが機能しないのかわかりません:
if ([filemgr removeItemAtPath: fileName error: NULL] == YES){
NSLog (@"Remove successful");
}
else{
NSLog (@"Remove failed");
}
NSString *cachePath = [[NSString alloc] initWithFormat:@"%@",fileName];
NSFileHandle *fileHandler = [NSFileHandle fileHandleForUpdatingAtPath:cachePath];
BOOL isFirst = NO;
for(id entry in serializedObjects){
NSString *sectionName = [NSString stringWithFormat:@"!%@\n", entry];
[fileHandler writeData:[sectionName dataUsingEncoding:NSUTF8StringEncoding]];
if (!isFirst) {
[fileHandler seekToEndOfFile];
isFirst = YES;
}
NSArray *list = [serializedObjects objectForKey:entry];
for (int i = 0; i < list.count; i++) {
NSString *line = [[list objectAtIndex:i] stringByAppendingString:@"\n"];
[fileHandler writeData:[line dataUsingEncoding:NSUTF8StringEncoding]];
}
[fileHandler writeData:[[NSString stringWithFormat:@"%@", @"~\n"] dataUsingEncoding:NSUTF8StringEncoding]];
}
[fileHandler closeFile];
私のアイデアは、ファイルに最初の行を書き込み、他の行を追加することでした。私がここで間違っていることを誰かが見ていますか?
このメソッドが完了した後、エラーは表示されませんが、手動で確認した後、書き込もうとしているファイルは存在しません。