При сохранении чего-либо на диск с помощью NSKeyedArchiver, где это сохраняется на iPhone?

StackOverflow https://stackoverflow.com/questions/2453659

  •  20-09-2019
  •  | 
  •  

Вопрос

Пример:Если я использовал это, где iPhone хранит файл?

if (![NSKeyedArchiver archiveRootObject:your_object toFile:@"filename.plist"])
   // save failed.

На моем Mac filename.plist напрямую передается в Macintosh HD.Папки нет.Кроме того, NSKeyedArchiver, похоже, не запрашивает путь, только имя файла.Странно или нет?

И как создается резервная копия этого файла в iTunes?

Это было полезно?

Решение

Архивируемый объект:toFile:
Поэтому вы должны передать ему путь, а не просто имя файла.В противном случае NSKeyedArchiver предположим, вы хотите сохранить его в корневом каталоге жесткого диска устройства.
Чтобы убедиться, что iTunes создает резервные копии, вам нужно сохранить ваши данные в папке documents, как вам уже показывал Дидерик Хугенбум.Взгляните на это проводник.

Другие советы

Ну, это на самом деле зависит от того, где вы просите его сохранить файл, в вашем случае вы указываете ему сохранить filename.plist, который будет сохранен в вашем корневом каталоге / .

если вы хотите сохранить его в определенном месте, просто укажите к нему полный путь, что-то вроде того, что сказал вам Дидерик Хугенбум (это сохранит его в каталоге Documents)

Или просто укажите ему абсолютный путь, по которому вы хотите сохранить файл.

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *filePath = [documentsDirectory stringByAppendingPathComponent: @"myFile.plist"];
[NSKeyedArchiver archiveRootObject:your_object toFile:filePath];

Вероятно, это должно было немного прояснить ситуацию для вас.

Подходящим местом для хранения файлов является папка documents:

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top