0
for(int x = 0; x < [tags count]; x++){
    NSString* tagsValue = [[NSString alloc] initWithFormat:@"%d: %f", 1, 
    [[tags objectAtIndex:x]doubleValue]];

    [[tagsValue dataUsingEncoding:NSUTF8StringEncoding] writeToFile:fileAtPath 
    atomically:NO];
}

我知道 writeToFile 将替换文件本身,因此它会给出数组值的最终值。我怎么能解决这个问题我一直试图解决这个问题几个小时但我没有运气谢谢!:)

4

2 回答 2

0

以下代码将在文件末尾 添加tagsValue字符串,
请确保您已经创建了文件。

   for(int x = 0; x < [tags count]; x++){
       NSString* tagsValue = [[NSString alloc] initWithFormat:@"%d: %f", 1, [[tags objectAtIndex:x]doubleValue]];
       NSFileHandle *myHandle = [NSFileHandle fileHandleForWritingAtPath:fileAtPath];
       [myHandle seekToEndOfFile];
       [myHandle writeData:[tagsValue dataUsingEncoding:NSUTF8StringEncoding]];
   }
于 2013-05-03T05:46:28.317 回答
0

我认为您正在尝试将数组直接写入文件。

  1. 将您的数组转换为字符串格式。

    NSString *tagsCompleteStr = [tags componentJoinedByString:@" "];
    [tagsCompleteStr  writeToFile:fileAtPath 
                                           atomically:NO];
    

希望这会有所帮助。

于 2013-05-03T06:01:04.363 回答