Objective c 打印到txt文件时如何连接?

Objective c 打印到txt文件时如何连接?,objective-c,Objective C,我试图调用一个打印到txt文件的方法。但是当我再次调用该方法时,它将用我的新文本覆盖文本文件中的内容。我想继续添加打印的内容 -(void) print:(NSString *)name { NSURL *url = [NSURL fileURLWithPath:@"/here/file.txt"]; NSString *fileContent = [NSString stringWithFormat"@"%@\n", name]; [fileContent writeToURL:url ato

我试图调用一个打印到txt文件的方法。但是当我再次调用该方法时,它将用我的新文本覆盖文本文件中的内容。我想继续添加打印的内容

-(void) print:(NSString *)name
{
NSURL *url = [NSURL fileURLWithPath:@"/here/file.txt"];
NSString *fileContent = [NSString stringWithFormat"@"%@\n", name];
[fileContent writeToURL:url atomically:YES encoding:NSUTF8StringEncoding error:nil];
}
当我调用此方法时,我通过以下操作调用它:

[name print: person1.name];
[name print: person2.name];
每次我尝试打印下一个名称时,它都会替换文本文件中的名称。我不确定如何连接并继续添加名称

多谢各位

我试过这个:

NSFileHandle *fileHandle = [NSFileHandle fileHandleForWritingAtPath:@"/here/file.txt"];
NSString *textToWrite = @"hello";
[fileHandle seekToEndOfFile];
[fileHandle writeData:[textToWrite dataUsingEncoding:NSUTF8StringEncoding]];
[fileHandle closeFile];

没有打印任何内容。

也许这样更好(我尝试集成您的解决方案)

尽管我想可能有更有效的方法

NSFileHandle *fileHandle = [NSFileHandle fileHandleForWritingAtPath:aPath];
if (!fileHandle){
    NSLog(@"Error: File does not exist!");
} else {
    [fileHandle seekToEndOfFile];
    [fileHandle writeData:[textToWrite dataUsingEncoding:NSUTF8StringEncoding]];
    [fileHandle closeFile];
}

请看这里:

更新了我的第一篇文章。请注意,如果使用NSFileHandle,则必须确保该文件已存在。如果路径中不存在文件,fileHandleForWritingAtPath将返回nil。请参阅NSFileHandle类参考。同样,您也可以使用第二种方法:
NSString*contents=[NSString stringWithContentsOfFile:filepath];contents=[contents stringByAppendingString:textToWrite];[contents writeToFile:filepath原子:YES编码:nsunicoding错误:&err]文件确实存在于该确切位置。请调试并查看
fileHandleWritingAtPath
之后的fileHandle是否为
nil
。如果它是
nil
则在该路径上没有可写入的文件:我不知道如何执行该操作
NSFileHandle *fileHandle = [NSFileHandle fileHandleForWritingAtPath:aPath];
if (!fileHandle){
    NSLog(@"Error: File does not exist!");
} else {
    [fileHandle seekToEndOfFile];
    [fileHandle writeData:[textToWrite dataUsingEncoding:NSUTF8StringEncoding]];
    [fileHandle closeFile];
}