Очистить содержимое текстового файла в Objective C

Я новичок в iOS и Objective C, и я пытаюсь создать свое первое приложение.

У меня есть небольшой текстовый файл с несколькими строками данных, и в какой-то момент я должен очистить все данные из этого файла, прежде чем добавлять новые строки.

Я ищу некоторое время, но я не смог ничего найти. Я почти уверен, что это должен быть способ, но я мог его найти.

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

Я также попытался перезаписать содержимое, как здесь: Перезапись текущего содержимого в файле

но это не сработало (он добавляет данные в начало файла), и я не могу понять это.

Любые идеи?


person daydr3am3r    schedule 11.07.2014    source источник
comment
Если вам не нужны предыдущие данные, перезапись файла кажется вполне подходящей. Если вы сохраняете только немного данных, вы можете взглянуть на NSUserDefaults   -  person carloabelli    schedule 11.07.2014
comment
и если вы сохраняете большой объем данных, вам следует взглянуть на CoreData   -  person Bogdan Somlea    schedule 11.07.2014
comment
Спасибо за Ваш ответ. Я взглянул на NSUserDefaults, но мое намерение состоит в том, чтобы иметь возможность поделиться этим файлом по почте и загрузить его на сервер для дальнейшего использования, поэтому в то время это было лучшим выбором.   -  person daydr3am3r    schedule 11.07.2014
comment
Если вы хотите поделиться файлом, просто перезапишите его, если вам не нужны предыдущие данные. Вероятно, это будет проще/быстрее, чем редактировать файл.   -  person carloabelli    schedule 11.07.2014
comment
Спасибо, кабелькар. Это действительно проще, так как у меня уже есть методы для создания и добавления данных в файл. Мне просто нужно позвонить им. Я сделаю это вместо этого. @ Богдан Сомлеа - посмотрю. Он мне скоро понадобится. Спасибо за чаевые.   -  person daydr3am3r    schedule 11.07.2014
comment
Вам не нужно очищать файл, чтобы перезаписать его. Просто напишите новую версию файла, и старые данные исчезнут, во всех смыслах. Вы должны приложить дополнительные усилия, чтобы добавить в файл, чтобы он не был перезаписан, когда вы записываете в него больше.   -  person Hot Licks    schedule 11.07.2014
comment
Спасибо HotLicks (смеется). Я просто вызываю метод create, чтобы перезаписать его. Для добавления я использую что-то вроде этого: NSFileHandle *fileHandler = [NSFileHandle fileHandleForUpdatingAtPath:channelsPath];   -  person daydr3am3r    schedule 14.07.2014


Ответы (1)


Пытаться:

 NSArray *allPaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString *documentsDirectory = [allPaths objectAtIndex:0];
    NSString *pathForUrFile = [documentsDirectory stringByAppendingPathComponent:@"yourFile.txt"];
    [[NSFileManager defaultManager] createFileAtPath:pathForUrFile contents:[NSData data] attributes:nil];

таким образом вы можете установить содержимое файла на nil

person Ernie Sender    schedule 10.03.2017