Сохранение изменяемого массива в файл через writeToFile

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 заменит сам файл так, чтобы он дал окончательное значение значения массива. Как я мог подойти к этому, я пытался обдумать это несколько часов, но мне не повезло, спасибо!:)

2 ответа

Решение

Я думаю, что вы пытаетесь записать непосредственно массив в файл.

  1. конвертировать ваш массив в строковом формате.

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

Надеюсь, это поможет.

Следующий код добавит строку 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]];
   }
Другие вопросы по тегам