私はあなたが物事のカップル行うことができると思います。これは、あなたにNSDataのを追加することを
NSFileHandle *fileHandle = [NSFileHandle fileHandleForWritingAtPath:aPath];
[fileHandle seekToEndOfFile];
[fileHandle writeData:[textToWrite dataUsingEncoding:NSUTF8StringEncoding]];
[fileHandle closeFile];
は注意をファイル - NSStringではありません。 NSFileHandleを使用する場合は、その前にファイルが存在することを確認する必要があります。パスにファイルが存在しない場合、fileHandleForWritingAtPath
はnilを返します。 NSFileHandle class referenceを参照してください。
あなたができる
または:
NSString *contents = [NSString stringWithContentsOfFile:filepath];
contents = [contents stringByAppendingString:textToWrite];
[contents writeToFile:filepath atomically:YES encoding: NSUnicodeStringEncoding error:&err];
私は2番目のアプローチは、ファイルに新しい内容を書き込む前のNSStringにファイルの内容を読み込む伴うため第一のアプローチは、最も効率的であると信じています。しかし、ファイルにNSDataが含まれていないようにしてテキストを保持したい場合は、2番目のオプションが適しています。
[更新] stringWithContentsOfFileあなたは第二のアプローチを変更することができdeprecatedですので:
当初
NSError* error = nil;
NSString* contents = [NSString stringWithContentsOfFile:filepath
encoding:NSUTF8StringEncoding
error:&error];
if(error) { // If error object was instantiated, handle it.
NSLog(@"ERROR while loading from file: %@", error);
// …
}
[contents writeToFile:filepath atomically:YES
encoding:NSUnicodeStringEncoding
error:&err];
See question on stackoverflow
私は 'NSLog'は、あなたが望むように動作しないことを推測? – zneak
FYI、それをファイルに追加させる 'NSString' /' NSMutableString'メソッドはありません。しかし、ここには例があります(http://lists.apple.com/archives/cocoa-dev/2002/Aug/msg00754.html)。 – zneak