Запись в файлы в комплекте? - PullRequest
2 голосов
/ 28 августа 2009

Если вы прокрутите вниз до раздела «Запись в файлы и URL-адреса» по этой ссылке , должен ли путь к файлу быть доступным для файла? Можно ли записать файл в комплекте или его всегда нужно развертывать первым?

Ответы [ 2 ]

11 голосов
/ 28 августа 2009

Вы можете записывать файлы в пакет приложений сколько угодно. Просто получите путь к файлу с помощью метода NSBundle pathForResource:ofType:, и вы сможете записать в этот файл. Если вы хотите просто каталог пакета, используйте resourcePath.

Вы не хотите, чтобы сделал это, хотя. Есть разные причины, но вы нарушите подпись кода, которая является большой. Вместо этого вы должны использовать установленные соглашения (например, писать в Библиотеку: Поддержка приложений: Ваше приложение).

РЕДАКТИРОВАТЬ: По (возможно) более убедительной причине не делать этого ... Когда я впервые изучал программирование Какао, я сохранил в комплекте, потому что я не хотел беспокоиться о Библиотека. Это действительно раздражает, потому что каждый раз, когда вы вносите изменения в свою программу, вы теряете все свои сохраненные данные / настройки для этой программы (при условии, что вы не используете NSUserDefaults для предпочтений). Мне все время приходилось переносить его из старой версии в новую. Используя библиотеку, вам не нужно об этом беспокоиться.

5 голосов
/ 28 августа 2009

Пакет находится на диске; это просто каталог .app. Вы не должны писать в файлы в этом каталоге, как бы то ни было. Хотя в настоящее время это возможно на Mac, это нарушит подпись кода. На iPhone вы уже не можете писать в свой пакет, и мы ожидаем увидеть это ограничение в будущем на Mac. Вы должны записать файлы приложения в различные каталоги в ~ / Library или ~ / Documents в зависимости от ситуации. См. Руководство по программированию файловой системы .

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