(iphone) Как хранить изображения в структуре каталогов (vs каталог плоских документов) и связанные вопросы - PullRequest
1 голос
/ 15 апреля 2011

Я ищу хороший способ управления многими файлами изображений в моем приложении.
Когда количество поддерживаемых изображений становится большим, жизненно важно иметь структуру каталогов для их хранения (для организации изображений и поддержки дублирующих имен изображений)

Поскольку обычный способ хранения изображений в каталоге документов (путем добавления изображений в папку ресурсов xcode), по-видимому, не поддерживает структуру каталога,
Мне, вероятно, нужно использовать что-то под названием расслоение.

Вот вопросы.

  1. Мне не ясно, в чем разница между "документами" каталог "и" расслоение ". Являются ли они просто имена, чтобы указать путь к каталогу внутри приложения для iphone? поскольку каталог документов не поддерживает структура каталогов, я думаю, что это не так обычный путь к файлу в iOS? (Я ищу определение или обзор описание этих двух терминов достаточно чтобы помочь ответить на следующие вопросы вопросы)

  2. Как создать каталог древовидной структуры для хранения ресурсов?

  3. Как добавить файлы в созданный каталог?
  4. Какой шаг (вероятно, в xcode) для добавления новых файлов в каталог как проект растет? нота: вопрос 3 касается начальной настройки, 4 сделки с обновлением.

  5. Что происходит с файлами в каталоге документов и в комплекте пользователь обновляет приложение? Поскольку многие приложения хранят пользовательские данные где-то должен быть способ обновление приложения без стирания сохраненные данные пользователя. то есть. Как «каталог документов» и «комплект» вести себя в ситуации обновления?

  6. Так называемый «пакет ресурсов» относится к «пакету», используемому выше. вопросы?

Спасибо.

1 Ответ

0 голосов
/ 15 апреля 2011

Ваше приложение является "комплектом".Он представлен объектом NSBundle.На iOS это единственный пакет, который вам разрешено использовать;вы не можете создать другой пакет и импортировать его в свое приложение.

Однако вы можете добавить подкаталог в пакет вашего приложения.В Xcode 4 выберите ваш проект в навигаторе и нажмите на вкладку Build Phases.Добавьте новый этап сборки (внизу справа), Копировать файлы.Переместите его чуть ниже Copy Bundle Resources и переименуйте в что-нибудь значимое («скопировать изображения интерфейса» или что-то в этом роде).Вы заметите, что у вас есть поле Subpath - это ваш каталог в вашем комплекте.Перетащите файлы, которые вы хотите в этом подкаталоге, на эту фазу сборки, и затем вы сможете получить к ним доступ с помощью обычных методов NSBundle, UIImage, NSData и т. Д.

Хотите, чтобы это было проще?Я тоже.

...