О ресурсах

Примененный к компьютерные программы, ресурсы являются файлами данных, сопровождающими исполняемый код программы. Ресурсы упрощают код, который необходимо записать путем перемещения создания сложных наборов данных или графического содержания за пределами кода и в более надлежащие инструменты. Например, вместо того, чтобы создать изображения попиксельно с помощью кода, это намного более эффективно (и практично) создать их в редакторе изображений. Для использования в своих интересах ресурса весь код должен сделать, загрузить его во время выполнения и использовать его.

В дополнение к упрощению Вашего кода ресурсы являются также близкой частью процесса интернационализации для всех приложений. Вместо строк жесткого кодирования и другого видимого пользователем содержания в Вашем приложении, можно поместить то содержание во внешние файлы ресурсов. Локализация Вашего приложения тогда становится простым процессом создания новых версий каждого файла ресурсов для каждого поддерживаемого языка. Механизм пакета, используемый и в OS X и в iOS, обеспечивает способ организовать локализованные ресурсы и упростить загрузку файлов ресурсов, соответствующих предпочтительный язык пользователя.

Этот документ предоставляет информацию о типах ресурсов, поддерживаемых в OS X и iOS и как Вы используете те ресурсы в своем коде. Этот документ не фокусируется на процессе создания ресурса. Большинство ресурсов создается с помощью или сторонних приложений или инструментов разработчика, предоставленных в /Developer/Applications каталог. Кроме того, несмотря на то, что этот документ относится к использованию ресурсов в приложениях, информация также применяется к другим типам связанных исполнимых программ, включая платформы и плагины.

Прежде, чем считать этот документ, необходимо быть знакомы с организационной структурой, наложенной комплектами приложений. Понимание этой структуры упрощает организовывать и считать файлы ресурсов Вашим использованием приложения. Для получения информации о структуре пакетов см. Руководство по программированию Пакета.

Сразу

Приложения могут содержать много типов ресурсов, но существуют несколько, которые поддерживаются непосредственно iOS и OS X.

Файлы пера хранят объекты пользовательского интерфейса Вашего приложения

Файлы пера являются наиболее существенным типом ресурса, используемым для создания приложений Mac и iOS. Файл пера является архивом данных, по существу содержащим ряд сушивших сублимацией объектов, которые Вы хотите воссоздать во время выполнения. Файлы пера используются обычно для хранения предварительно сконфигурированных окон, представлений и других визуально ориентированных объектов, но они могут также хранить невидимые объекты, такие как контроллеры.

Вы редактируете файлы пера в XCode с Интерфейсным Разработчиком, предоставляющим графическому редактору для сборки Ваших объектов. При последующей загрузке файла пера в приложение загружающий перо код инстанцирует каждого объекта в файле и восстанавливает его к состоянию, которое Вы указали в Интерфейсном Разработчике. Таким образом то, что Вы видите в Интерфейсном Разработчике, действительно, что Вы входите в свое приложение во время выполнения.

Строковые ресурсы, содержащие локализуемый текст

Текст является видной частью большинства пользовательских интерфейсов, но также и ресурса, больше всего затронутого изменениями локализации. Вместо текста жесткого кодирования в Ваш код, iOS и OS X поддерживают хранение пользовательского видимого текста в строковых файлах, которые являются человекочитаемыми текстовыми файлами (в UTF-16, кодирующем) содержащий ряд строковых ресурсов для приложения. (Использование множественного числа «строки» в является преднамеренным и вследствие .strings расширение файла используется файлами того типа.) Представляет файлы в виде строки, значительно упрощают интернационализацию и процесс локализации, позволяя Вам записать Ваш код один раз и затем загрузить соответственно локализованный текст из файлов ресурсов, которые могут быть изменены легко.

Базовые платформы Основы и Основы предоставляют средства для загрузки текста от строковых файлов. Приложения, использующие эти средства, могут также использовать в своих интересах инструменты, идущие с XCode, чтобы генерировать и поддержать эти файлы ресурсов в течение процесса разработки.

Изображения, звуки и фильмы представляют предварительно представленное содержание

Изображения, звук и ресурсы фильма играют важную роль в приложениях Mac и iOS. Изображения ответственны за создание уникального визуального стиля, используемого каждой операционной системой; они также помогают упростить Ваш код для прорисовки для сложных визуальных элементов. В то время как упрощение кода должно было создать тот опыт, звуковые файлы и файлы ролика так же помогают улучшить полный пользовательский опыт Вашего приложения. Обе операционных системы предоставляют обширную поддержку для загрузки и представления этих типов ресурсов в Ваших приложениях.

Списки свойств и файлы данных отдельные данные от кода

Файл списка свойств является структурированным файлом, используемым для хранения строки, числа, булевской переменной, даты и значений необработанных данных. Элементы данных в файле организованы с помощью массива и структур словаря с большинством элементов, связанных с уникальным ключом. Система использует списки свойств для хранения простых наборов данных. Например, Info.plist файл, найденный в почти каждом приложении, является примером файла списка свойств. Можно также использовать файлы списка свойств для простых потребностей хранения данных.

В дополнение к спискам свойств OS X поддерживает некоторые специально структурированные файлы для определенного использования. Например, данные AppleScript и пользовательская справка хранятся с помощью файлов специально отформатированных данных. Можно также создать пользовательские собственные файлы данных.

Поддержки iOS Специфичные для устройства Ресурсы

В iOS 4.0 и позже, возможно отметить отдельные файлы ресурсов как применимые только на определенном типе устройства. Эта возможность упрощает код, который необходимо записать для Повсеместного применения. Вместо того, чтобы создавать отдельные пути выполнения кода для загрузки одной версии файла ресурсов для iPhone и различной версии файла для iPad можно позволить загружающим пакет подпрограммам выбрать корректный файл. Все, что необходимо сделать, назвать файлы ресурсов соответственно.

Для соединения файла ресурсов с определенным устройством Вы добавляете пользовательскую строку модификатора к ее имени файла. Включение этой строки модификатора приводит к именам файлов со следующим форматом:

<базовое имя> <устройство>.<filename_extension>

<Базовое имя> строка представляет настоящее имя файла ресурсов. Это также представляет имя, которое Вы используете при доступе к файлу от кода. Точно так же <filename_extension> строка является стандартным расширением файла, используемым для идентификации типа файла. <Устройство> строка является чувствительной к регистру строкой, которая может быть одним из следующих значений:

Можно применить модификаторы устройства к любому типу файла ресурсов. Например, предположите наличие изображения MyImage.png. Для указания различных версий изображения для iPad и iPhone Вы создали бы файлы ресурсов с именами MyImage~ipad.png и MyImage~iphone.png и включайте их обоих в свой пакет. Для загрузки изображения Вы продолжали бы обращаться к ресурсу как MyImage.png в Вашем коде и позволяют системе выбрать надлежащую версию, как показано здесь:

UIImage* anImage = [UIImage imageNamed:@"MyImage.png"];

На iPhone или устройстве iPod touch, системные нагрузки MyImage~iphone.png файл ресурсов, в то время как на iPad, это загружается MyImage~ipad.png файл ресурсов. Если специфичная для устройства версия ресурса не найдена, система отступает к поиску ресурса с исходным именем файла, которое в предыдущем примере было бы названным изображением MyImage.png.

См. также

Следующие документы Разработчика Apple концептуально связаны с Руководством по программированию Ресурса: