WriteToFile: атомарно не рекомендуется Предупреждение - PullRequest
3 голосов
/ 03 февраля 2012

Я хочу записать значение textField, которое является именем пользователя, в файл с именем login.txt.

Мой код:

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];

// the path to write file
loginFilePath= [documentsDirectory stringByAppendingPathComponent:@"Login.txt"];
NSString *userName=[nameText text];
[userName writeToFile:loginFilePath atomically:YES];

Я получаю предупреждение, посколькуосуждается.

Ответы [ 3 ]

4 голосов
/ 03 февраля 2012

Поскольку оно устарело, используйте:

- (BOOL)writeToFile:(NSString *)path atomically:(BOOL)useAuxiliaryFile encoding:(NSStringEncoding)enc error:(NSError **)error;

вместо writeToFile:atomically

0 голосов
/ 22 ноября 2017

Начиная с iOS 11 writeToFile:atomically устарела в пользу - writeToUrl:error:.

Похоже, многие старые методы записи / чтения устарели для NSArray, а API был упрощен.Так что для создания NSArray из файла теперь используется - initWithContentsOfURL:error:.

0 голосов
/ 03 февраля 2012

В документации NSString говорится, что она устарела

Записывает содержимое получателя в файл, указанный по заданному пути.(Устаревшее в iOS 2.0. Используйте writeToFile: atomically: encoding: error: вместо этого.)

Документацию для метода замены writeToFile:atomically:encoding:error: можно найти здесь .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...