NSBundle
NSBundle
объект представляет расположение в файловой системе, что код групп и ресурсы, которые могут использоваться в программе. NSBundle
объекты определяют местоположение ресурсов программы, динамично загружают и разгружают исполняемый код и помогают в локализации. Вы создаете пакет в XCode с помощью одних из этих типов проектов: Приложение, Платформа, плагины.
Несмотря на то, что структуры пакета варьируются в зависимости от целевой платформы и типа пакета, Вы создаете, NSBundle
класс скрывает эту глубинную структуру в большинстве (но не все) случаи. Многие методы, которые Вы используете для загрузки ресурсов из пакета автоматически, определяют местоположение надлежащего начального каталога и ищут ресурсы в известных местах. Для получения информации о структурах комплекта приложений (для OS X и iOS), см. Руководство по программированию Пакета. Для получения информации о структуре пакетов платформы см. Руководство по программированию Платформы. Для получения информации о структуре плагинов OS X посмотрите, что Код Загружает Темы Программирования.
Для получения дополнительной информации о том, как загрузить файлы пера и изображения в приложении Mac, посмотрите дополнительную NSBundle AppKit Ссылку. Для получения информации о том, как загрузить файлы пера в приложении для iOS, см. NSBundle UIKit Дополнительная Ссылка.
В отличие от некоторых других Фундаментальных классов с соответствующими Базовыми именами Основы (такой как NSString
и CFString), NSBundle
объекты не могут быть брошены (“бесплатный соединенный мостом”) к ссылкам CFBundle. При необходимости в функциональности, предоставленной в CFBundle можно все еще создать CFBundle и использовать Ссылку CFBundle API. Посмотрите Взаимозаменяемые Типы данных для получения дополнительной информации о бесплатном образовании моста.
Оператор импорта
Swift
import Foundation
Objective C
@import Foundation;
Доступность
Доступный в OS X v10.0 и позже.
-
Возвраты
NSBundle
объект, соответствующий указанному файлу URL.Объявление
Objective C
+ (instancetype)bundleWithURL:(NSURL *)
url
Параметры
url
URL к каталогу. Это должно быть URL для каталога; если это содержит какие-либо символьные ссылки, они должны быть разрешимыми.
Возвращаемое значение
NSBundle
соответствующий объектurl
, илиnil
еслиurl
не идентифицирует доступный каталог пакета.Обсуждение
Если там является не существующим, этот метод выделяет и инициализирует возвращенный объект
NSBundle
связанный сurl
, когда это возвращает существующий объект.Оператор импорта
Objective C
@import Foundation;
Доступность
Доступный в OS X v10.6 и позже.
-
Возвраты
NSBundle
объект, соответствующий указанному каталогу.Объявление
Objective C
+ (instancetype)bundleWithPath:(NSString *)
fullPath
Параметры
fullPath
Путь к каталогу. Это должно быть полным путем для каталога; если это содержит какие-либо символьные ссылки, они должны быть разрешимыми.
Возвращаемое значение
NSBundle
соответствующий объектfullPath
, илиnil
еслиfullPath
не идентифицирует доступный каталог пакета.Обсуждение
Если там является не существующим, этот метод выделяет и инициализирует возвращенный объект
NSBundle
связанный сfullPath
, когда это возвращает существующий объект.Оператор импорта
Objective C
@import Foundation;
Доступность
Доступный в OS X v10.0 и позже.
-
Возвраты
NSBundle
объект, инициализированный для соответствия указанному файлу URL.Объявление
Swift
convenience init?(URL
url
: NSURL)Objective C
- (instancetype)initWithURL:(NSURL *)
url
Параметры
url
Файл URL к каталогу. Это должно быть полным URL для каталога; если это содержит какие-либо символьные ссылки, они должны быть разрешимыми.
Возвращаемое значение
NSBundle
объект, инициализированный для соответствияurl
. Этот метод инициализирует и возвращает новый экземпляр, только если нет никакого существующего пакета, связанного сurl
, иначе это освобождаетself
и возвращает существующий объект. Еслиurl
не существует или у пользователя нет доступа к нему, возвратовnil
.Обсуждение
Не необходимо выделить и инициализировать экземпляр для основного пакета; используйте
mainBundle
метод класса получить этот экземпляр. Можно также использоватьbundleWithURL:
метод класса получить пакет, идентифицированный его файлом URL.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.6 и позже.
-
init (путь:) - initWithPath:
Определяемый инициализаторВозвраты
NSBundle
объект, инициализированный для соответствия указанному каталогу.Объявление
Swift
init?(path
fullPath
: String)Objective C
- (instancetype)initWithPath:(NSString *)
fullPath
Параметры
fullPath
Путь к каталогу. Это должно быть полным путем для каталога; если это содержит какие-либо символьные ссылки, они должны быть разрешимыми.
Возвращаемое значение
NSBundle
объект, инициализированный для соответствияfullPath
. Этот метод инициализирует и возвращает новый экземпляр, только если нет никакого существующего пакета, связанного сfullPath
, иначе это освобождаетself
и возвращает существующий объект. ЕслиfullPath
не существует или у пользователя нет доступа к нему, возвратовnil
.Обсуждение
Не необходимо выделить и инициализировать экземпляр для основного пакета; используйте
mainBundle
метод класса получить этот экземпляр. Можно также использоватьbundleWithPath:
метод класса получить пакет, идентифицированный его путем к каталогу.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.0 и позже.
См. также
-
Возвраты
NSBundle
объект, с которым связан указанный класс.Объявление
Swift
init(forClass
aClass
: AnyClass) -> NSBundleObjective C
+ (NSBundle *)bundleForClass:(Class)
aClass
Параметры
aClass
Класс.
Возвращаемое значение
NSBundle
возразите, что динамично загрузилсяaClass
(загружаемый пакет),NSBundle
объект тот, для платформы, в которыйaClass
определяется, или основной объект пакета еслиaClass
не был динамично загружен или не определяется в платформе.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.0 и позже.
См. также
-
Возвращается ранее создаваемый
NSBundle
экземпляр, имеющий указанный идентификатор пакета.Объявление
Swift
init?(identifier
identifier
: String) -> NSBundleObjective C
+ (NSBundle *)bundleWithIdentifier:(NSString *)
identifier
Параметры
identifier
Идентификатор для существующего
NSBundle
экземпляр.Возвращаемое значение
Ранее создаваемый
NSBundle
экземпляр, имеющий идентификатор пакетаidentifier
. Возвратыnil
если не найден требуемый пакет.Обсуждение
Этот метод обычно используется платформами и плагинами для определения местоположения их собственного пакета во время выполнения. Этот метод может быть несколько более эффективным, чем попытка определить местоположение пакета с помощью
bundleForClass:
метод. Однако, если начальный поиск уже загруженного и кэшируемого пакета с указанными сбоями идентификатора, этот метод использует потенциально длительную эвристику, чтобы попытаться определить местоположение пакета.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.0 и позже.
-
Возвраты
NSBundle
объект, соответствующий каталогу, где расположена текущая исполнимая программа приложения.Возвращаемое значение
NSBundle
объект, соответствующий каталогу, где исполнимая программа приложения расположена, илиnil
если не мог бы быть создан объект пакета.Обсуждение
Этот метод выделяет и инициализирует объект пакета, если Вы уже не существуете. Новый объект соответствует каталогу, где расположена исполнимая программа приложения. Обязательно проверьте возвращаемое значение, чтобы удостовериться, что у Вас есть допустимый пакет. Этот метод может возвратить допустимый объект пакета даже для несвязанных приложений.
В целом основной пакет соответствует пакету файла приложения или обертке приложения: каталог, носящий имя приложения и отмеченный “
.app
” расширение.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.0 и позже.
См. также
-
Возвращает массив пакетов неплатформы всего приложения.
Возвращаемое значение
Массив пакетов неплатформы всего приложения.
Обсуждение
Возвращенный массив включает основной пакет и все пакеты, динамично созданные, но не содержит пакетов, представляющих платформы.
Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.0 и позже.
-
Возвращает массив всех пакетов приложения, представляющих платформы.
Возвращаемое значение
Массив всех пакетов приложения, представляющих платформы. Только платформы с одним или более классами Objective C в них включены.
Обсуждение
Возвращенный массив включает платформы, соединяющиеся в приложение, когда приложение создается и связывается для динамично созданных платформ.
Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.0 и позже.
-
Возвраты
Class
объект для указанного имени.Объявление
Swift
func classNamed(_
className
: String) -> AnyClass?Objective C
- (Class)classNamed:(NSString *)
className
Параметры
className
Имя класса.
Возвращаемое значение
Class
объект дляclassName
. Возвратыnil
еслиclassName
если существует ошибка при загрузке исполняемого кода, содержащего реализацию класса, не один из классов, связанных с получателем или.Обсуждение
Если исполняемый код пакета еще не загружается, этот метод динамично загружает его в память. Классы (и категории) загружаются всего из одного файла в каталоге пакета; этот файл кода имеет то же имя как каталог, но без расширения (“
.bundle
”, “.app
”, “.framework
”). Как побочный эффект загрузки кода, сообщений получателяNSBundleDidLoadNotification
после того, как все классы и категории были загружены; см. Уведомления для подробных данных.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.0 и позже.
См. также
-
principalClass principalClass
СвойствоОсновной класс пакета. (только для чтения)
Объявление
Swift
var principalClass: AnyClass? { get }
Objective C
@property(readonly) Class principalClass
Обсуждение
Это свойство установлено после обеспечения, что динамично загружается код, содержащий определение класса. Если пакет встречается с ошибками в загрузке или если это не может найти файл исполняемого кода в каталоге пакета, это свойство
nil
.Основной класс обычно управляет всеми другими классами в пакете; это должно посредничать между теми классами и классами, внешними к пакету. Классы (и категории) загружаются всего из одного файла в каталоге пакета. Пакет получает имя файла кода для загрузки из словаря, возвращенного из
infoDictionary
, использование “NSExecutable
” как ключ. Пакет определяет свой основной класс одним из двух способов:Это сначала смотрит в его собственном информационном словаре, извлекающем информацию, закодированную в списке свойств пакета (
Info.plist
). Пакет получает основной класс из словаря с помощью ключаNSPrincipalClass
. Для незагружаемых пакетов (приложения и платформы), если основной класс не указан в списке свойств, это свойствоnil
.Если основной класс не указан в информационном словаре, пакет идентифицирует первый класс, загруженный как основной класс. Когда несколько классов соединяются в динамично загружаемый файл, основной класс по умолчанию является первым, перечисленным на
ld
командная строка. В следующем примере Генератор отчетов был бы основным классом:
ld -o myBundle -r Reporter.o NotePad.o QueryList.o
Порядок классов в браузере XCode проекта является порядком, в котором они будут соединены. Для обозначения основного класса перетащите управление файл, содержащий его реализацию к верхней части списка.
Как побочный эффект загрузки кода, сообщений получателя
NSBundleDidLoadNotification
после того, как все классы и категории были загружены; см. Уведомления для подробных данных.Следующий метод получает пакет путем указания его пути (
bundleWithPath:
), затем загружает пакетprincipalClass
и использует основной объект класса, чтобы выделить и инициализировать экземпляр того класса:- (void)loadBundle:(id)sender
{
Class exampleClass;
id newInstance;
NSString *path = @"/tmp/Projects/BundleExample/BundleExample.bundle";
NSBundle *bundleToLoad = [NSBundle bundleWithPath:path];
if (exampleClass = bundleToLoad.principalClass) {
newInstance = [[exampleClass alloc] init];
[newInstance doSomething];
}
}
Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.0 и позже.
См. также
-
Возвращает файл URL для файла ресурсов, идентифицированного указанным именем и расширением и нахождением в данном каталоге пакета.
Объявление
Параметры
name
Имя файла ресурсов, содержавшегося в каталоге, указанном
bundleURL
.extension
Если
extension
пустая строка илиnil
, расширение, как предполагается, не существует и файл, URL является первым файлом, с которым встречаются, это точно соответствуетname
.subpath
Путь каталога пакета верхнего уровня. Это должно быть допустимым путем. Например, для указания каталога пакета для приложения Mac Вы могли бы указать путь
/Applications/MyApp.app
.Возвращаемое значение
Файл URL для файла ресурсов или
nil
если не мог бы быть расположен файл. Этот метод также возвращаетсяnil
если пакет, указанныйbundlePath
параметр не существует или не является читаемым каталогом.Обсуждение
Для получения дополнительной информации о том, как локализованные ресурсы найдены, считайте Образец Поиска Пакета в Руководстве по программированию Пакета.
Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.6 и позже.
См. также
-
Возвращает полный путь для файла ресурсов, идентифицированного указанным именем и расширением и нахождением в данном каталоге пакета.
Объявление
Параметры
name
Имя файла ресурсов, содержавшегося в каталоге, указанном
bundlePath
.extension
Если
extension
пустая строка илиnil
, расширение, как предполагается, не существует, и файл является первым файлом, с которым встречаются, это точно соответствуетname
.bundlePath
Путь каталога пакета верхнего уровня. Это должно быть допустимым путем. Например, для указания каталога пакета для приложения Mac Вы могли бы указать путь
/Applications/MyApp.app
.Возвращаемое значение
Полный путь для файла ресурсов или
nil
если не мог бы быть расположен файл. Этот метод также возвращаетсяnil
если пакет, указанныйbundlePath
параметр не существует или не является читаемым каталогом.Обсуждение
Для получения дополнительной информации о том, как локализованные ресурсы найдены, считайте Образец Поиска Пакета в Руководстве по программированию Пакета.
Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.0 и позже.
-
Возвращает файл URL для ресурса, идентифицированного указанным именем и расширением файла.
Объявление
Параметры
name
Имя файла ресурсов.
extension
Если
extension
пустая строка илиnil
, расширение, как предполагается, не существует и файл, URL является первым файлом, с которым встречаются, это точно соответствуетname
.Возвращаемое значение
Файл URL для файла ресурсов или
nil
если не мог бы быть расположен файл.Обсуждение
Если
extension
пустая строка илиnil
, возвращенный путь является первым, с которым встречаются, где точно соответствует имя файлаname
. Для получения дополнительной информации о том, как локализованные ресурсы найдены, считайте Образец Поиска Пакета в Руководстве по программированию Пакета.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.6 и позже.
-
Возвращает полный путь для ресурса, идентифицированного указанным именем и расширением файла.
Объявление
Параметры
name
Имя файла ресурсов. Если
name
пустая строка илиnil
, возвращает первый файл, с которым встречаются предоставленного типа.extension
Если
extension
пустая строка илиnil
, расширение, как предполагается, не существует, и файл является первым файлом, с которым встречаются, это точно соответствуетname
.Возвращаемое значение
Полный путь для файла ресурсов или
nil
если не мог бы быть расположен файл.Обсуждение
Метод сначала ищет соответствующий файл ресурсов в нелокализованном каталоге ресурса указанного пакета. Если соответствующий файл ресурсов не найден, это тогда смотрит на верхнем уровне доступного специфичного для языка
.lproj
папка. (Поисковый порядок на специфичные для языка папки соответствует предпочтениям пользователя.) Это не рекурсивно вызывает через другие подпапки ни в одном из этих расположений. Для получения дополнительной информации о том, как локализованные ресурсы найдены, считайте Образец Поиска Пакета в Руководстве по программированию Пакета.Следующий фрагмент кода получает путь к plist в пакете и загружает его в
NSDictionary
.NSBundle *thisBundle = [NSBundle bundleForClass:[self class]];
if (commonDictionaryPath = [thisBundle pathForResource:@"CommonDictionary" ofType:@"plist"]) {
theDictionary = [[NSDictionary alloc] initWithContentsOfFile:commonDictionaryPath];
}
Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.0 и позже.
См. также
-
Возвращает массив файла URLs для всех ресурсов, идентифицированных указанным расширением файла и расположенных в указанном подкаталоге пакета.
Объявление
Параметры
extension
Расширение файла файлов для определения местоположения.
subpath
Имя подкаталога пакета.
Возвращаемое значение
Массив файла URLs для файлов ресурсов или
nil
если никакие файлы не могли бы быть расположены вsubpath
сextension
. Если никакие файлы ресурсов соответствия не найдены, возвращает пустой массив.Обсуждение
Если
subpath
nil
, этот метод ищет, верхний уровень нелокализовал каталог ресурса и верхний уровень любых специфичных для языка каталогов. (В OS X обычно вызывают нелокализованный каталог ресурса верхнего уровняResources
но в iOS, это - основной каталог пакета.)Например, предположите, что у Вас есть приложение Mac с современным пакетом, и Вы указываете
@"Documentation"
дляsubpath
параметр. Этот метод сначала заглянул быContents/Resources/Documentation
каталог пакета, сопровождаемогоDocumentation
подкаталоги каждого специфичного для языка.lproj
каталог. (Поисковый порядок на специфичные для языка каталоги соответствует предпочтениям пользователя.) Этот метод не рекурсивно вызывает ни через какие другие подкаталоги ни в одном из этих расположений. Для получения дополнительной информации посмотрите Образец Поиска Пакета в Руководстве по программированию Пакета.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.6 и позже.
-
Возвращает полный путь для ресурса, идентифицированного указанным именем и расширением файла и расположенный в указанном подкаталоге пакета.
Объявление
Параметры
name
Имя файла ресурсов.
extension
Если
extension
пустая строка илиnil
, все файлы вsubpath
и его подкаталоги возвращаются. Если расширению предоставлены, подкаталоги не ищутся.subpath
Имя подкаталога пакета. Может быть
nil
.Возвращаемое значение
Массив полных путей для
subpath
илиnil
если не расположены никакие файлы.Обсуждение
Если
subpath
nil
, этот метод ищет, верхний уровень нелокализовал каталог ресурса и верхний уровень любых специфичных для языка каталогов. (В OS X обычно вызывают нелокализованный каталог ресурса верхнего уровняResources
но в iOS, это - основной каталог пакета.), Например, предположите, что у Вас есть приложение Mac с современным пакетом, и Вы указываете@"Documentation"
дляsubpath
параметр. Этот метод сначала заглянул быContents/Resources/Documentation
каталог пакета, сопровождаемогоDocumentation
подкаталоги каждого специфичного для языка.lproj
каталог.Рекурсивно вызывает ли этот метод через подкаталоги, зависит от
extension
параметр. Еслиnil
или пустая строка, которую это рекурсивно вызовет, иначе, это не делает. (Поисковый порядок на специфичные для языка каталоги соответствует предпочтениям пользователя.) Для получения дополнительной информации о том, как локализованные ресурсы найдены, считайте Образец Поиска Пакета в Руководстве по программированию Пакета.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.0 и позже.
-
URLForResource (_: withExtension:subdirectory:localization:) - URLForResource:withExtension:subdirectory:localization:
Возвращает файл URL для ресурса, идентифицированного указанным именем и расширением файла, расположенным в указанном подкаталоге пакета и ограниченным глобальными ресурсами и связанными с указанной локализацией.
Объявление
Параметры
name
Имя файла ресурсов.
extension
Если
extension
пустая строка илиnil
, расширение, как предполагается, не существует и файл, URL является первым файлом, с которым встречаются, это точно соответствуетname
.subpath
Имя подкаталога пакета для поиска.
localizationName
Язык ID для локализации. Этот параметр должен соответствовать имени одного из специфичных для языка каталогов ресурса пакета без
.lproj
расширение.Возвращаемое значение
Файл URL для файла ресурсов или
nil
если не мог бы быть расположен файл.Обсуждение
Этот метод эквивалентен
URLsForResourcesWithExtension:subdirectory:
, за исключением того, что только нелокализованные ресурсы и те в специфичном для языка.lproj
каталог, указанныйlocalizationName
ищутся.Должно обычно быть мало причины использовать этот метод — посмотрите Получение Текущего языка и Локали. См. также preferredLocalizationsFromArray:forPreferences: поскольку, как определить, какие локализации доступны.
Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.6 и позже.
-
pathForResource (_: ofType:inDirectory:forLocalization:) - pathForResource:ofType:inDirectory:forLocalization:
Возвращает полный путь для ресурса, идентифицированного указанным именем и расширением файла, расположенным в указанном подкаталоге пакета и ограниченным глобальными ресурсами и связанными с указанной локализацией.
Объявление
Параметры
name
Имя файла ресурсов.
extension
Если
extension
пустая строка илиnil
, расширение, как предполагается, не существует, и файл является первым файлом, с которым встречаются, это точно соответствуетname
.subpath
Имя подкаталога пакета для поиска.
localizationName
Язык ID для локализации. Этот параметр должен соответствовать имени одного из специфичных для языка каталогов ресурса пакета без
.lproj
расширение.Возвращаемое значение
Полный путь для файла ресурсов или
nil
если не мог бы быть расположен файл.Обсуждение
Этот метод эквивалентен
pathForResource:ofType:inDirectory:
, за исключением того, что только нелокализованные ресурсы и те в специфичном для языка.lproj
каталог, указанныйlocalizationName
ищутся.Должно обычно быть мало причины использовать этот метод — посмотрите Получение Текущего языка и Локали. См. также preferredLocalizationsFromArray:forPreferences: поскольку, как определить, какие локализации доступны.
Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.0 и позже.
-
Возвращает массив, содержащий пути для всех ресурсов пакета, имеющих указанное расширение и находящихся в каталоге пакета в указанном пути.
Объявление
Параметры
extension
Расширение файла. Если
extension
пустая строка илиnil
, расширение, как предполагается, не существует, все файлы вbundlePath
возвращаются.bundlePath
Каталог верхнего уровня пакета. Это должно представлять допустимый путь.
Возвращаемое значение
Массив, содержащий полные пути для всех ресурсов пакета с указанным расширением. Если никакие файлы ресурсов соответствия не найдены, этот метод возвращает пустой массив. Это также возвращает пустой массив если пакет, указанный
bundlePath
параметр не существует или не является читаемым каталогом.Обсуждение
Этот метод обеспечивает средние значения для того, чтобы динамично обнаружить многократные ресурсы пакета того же типа. Для получения дополнительной информации о том, как локализованные ресурсы найдены, считайте Образец Поиска Пакета в Руководстве по программированию Пакета.
Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.0 и позже.
-
Возвращает массив, содержащий пути для всех ресурсов пакета, имеющих указанное расширение файла и находящихся в подкаталоге ресурса.
Объявление
Параметры
extension
Расширение файла. Если
extension
пустая строка илиnil
, расширение, как предполагается, не существует, все файлы вsubpath
возвращаются.subpath
Имя подкаталога пакета для поиска.
Возвращаемое значение
Массив, содержащий полные пути для всех ресурсов пакета, соответствующих указанные критерии. Если никакие файлы ресурсов соответствия не найдены, этот метод возвращает пустой массив.
Обсуждение
Этот метод обеспечивает средние значения для того, чтобы динамично обнаружить многократные ресурсы пакета того же типа. Если
extension
пустая строка илиnil
, все ресурсы пакета в указанном каталоге ресурса возвращаются.Параметр
subpath
указывает имя определенного подкаталога для поиска в иерархии каталогов ресурса текущего пакета. Еслиsubpath
nil
, этот метод ищет, верхний уровень нелокализовал каталог ресурса и верхний уровень любых специфичных для языка каталогов. (В OS X обычно вызывают нелокализованный каталог ресурса верхнего уровняResources
но в iOS, это - основной каталог пакета.), Например, предположите, что у Вас есть приложение Mac с современным пакетом, и Вы указываете@"Documentation"
дляsubpath
параметр. Этот метод сначала заглянул быContents/Resources/Documentation
каталог пакета, сопровождаемогоDocumentation
подкаталоги каждого специфичного для языка.lproj
каталог. (Поисковый порядок на специфичные для языка каталоги соответствует предпочтениям пользователя.) Этот метод не рекурсивно вызывает ни через какие другие подкаталоги ни в одном из этих расположений. Для получения дополнительной информации о том, как локализованные ресурсы найдены, считайте Образец Поиска Пакета в Руководстве по программированию Пакета.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.0 и позже.
-
URLsForResourcesWithExtension (_: subdirectory:localization:) - URLsForResourcesWithExtension:subdirectory:localization:
Возвращает массив, содержащий файл URLs для всех ресурсов пакета, имеющих указанное расширение файла, находясь в указанном подкаталоге ресурса, и ограниченный глобальными ресурсами и связанными с указанной локализацией.
Объявление
Параметры
extension
Расширение файла файлов для определения местоположения.
subpath
Имя подкаталога пакета для поиска.
localizationName
Язык ID для локализации. Этот параметр должен соответствовать имени одного из специфичных для языка каталогов ресурса пакета без
.lproj
расширение.Возвращаемое значение
Массив, содержащий файл URLs для всех ресурсов пакета, соответствующих указанные критерии. Если никакие файлы ресурсов соответствия не найдены, этот метод возвращает пустой массив.
Обсуждение
Этот метод эквивалентен
URLsForResourcesWithExtension:subdirectory:
, за исключением того, что только нелокализованные ресурсы и те в специфичном для языка.lproj
каталог, указанныйlocalizationName
ищутся.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.6 и позже.
-
pathsForResourcesOfType (_: inDirectory:forLocalization:) - pathsForResourcesOfType:inDirectory:forLocalization:
Возвращает массив, содержащий файл для всех ресурсов пакета, имеющих указанное расширение файла, находясь в указанном подкаталоге ресурса, и ограниченный глобальными ресурсами и связанными с указанной локализацией.
Объявление
Параметры
extension
Расширение файла файлов для получения.
subpath
Имя подкаталога пакета для поиска.
localizationName
Язык ID для локализации. Этот параметр должен соответствовать имени одного из специфичных для языка каталогов ресурса пакета без
.lproj
расширение.Возвращаемое значение
Массив, содержащий полные пути для всех ресурсов пакета, соответствующих указанные критерии. Если никакие файлы ресурсов соответствия не найдены, этот метод возвращает пустой массив.
Обсуждение
Этот метод эквивалентен
pathsForResourcesOfType:inDirectory:
, за исключением того, что только нелокализованные ресурсы и те в специфичном для языка.lproj
каталог, указанныйlocalizationName
ищутся.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.0 и позже.
-
URLForResource (_: withExtension:subdirectory:inBundleWithURL:) + URLForResource:withExtension:subdirectory:inBundleWithURL:
Создает и возвращает файл URL для ресурса с указанным именем и расширением в указанном пакете.
Объявление
Параметры
name
Имя файла ресурсов.
extension
Если
extension
пустая строка илиnil
, расширение, как предполагается, не существует и файл, URL является первым файлом, с которым встречаются, это точно соответствуетname
.subpath
Имя подкаталога пакета для поиска.
bundleURL
Файл URL пакета для поиска.
Возвращаемое значение
Файл URL для файла ресурсов или
nil
если не мог бы быть расположен файл.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.6 и позже.
-
URLsForResourcesWithExtension (_: subdirectory:inBundleWithURL:) + URLsForResourcesWithExtension:subdirectory:inBundleWithURL:
Возвращает массив, содержащий файл URLs для всех ресурсов пакета, имеющих указанное расширение файла, находясь в указанном подкаталоге ресурса, в указанном пакете.
Объявление
Параметры
extension
Расширение файла файлов для определения местоположения.
subpath
Имя подкаталога пакета для поиска.
bundleURL
Файл URL пакета для поиска.
Возвращаемое значение
Массив файла URLs для файлов ресурсов, соответствующих критерии или пустой массив, если не могли бы быть расположены никакие файлы.
Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.6 и позже.
-
resourcePath resourcePath
СвойствоПолный путь подкаталога пакета, содержащего ресурсы. (только для чтения)
Объявление
Swift
var resourcePath: String? { get }
Objective C
@property(readonly, copy) NSString *resourcePath
Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.0 и позже.
См. также
-
appStoreReceiptURL appStoreReceiptURL
СвойствоФайл URL для получения App Store пакета. (только для чтения)
Объявление
Swift
@NSCopying var appStoreReceiptURL: NSURL? { get }
Objective C
@property(readonly, copy) NSURL *appStoreReceiptURL
Обсуждение
Для приложения, купленного от App Store, используйте это свойство комплекта приложений для определения местоположения получения. Это свойство не делает гарантии о том, существует ли файл в URL — только что, если получение присутствует, который является его расположением.
Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.7 и позже.
-
bundlePath bundlePath
Свойство
-
bundleIdentifier bundleIdentifier
СвойствоИдентификатор пакета получателя. (только для чтения)
Объявление
Swift
var bundleIdentifier: String? { get }
Objective C
@property(readonly, copy) NSString *bundleIdentifier
Обсуждение
Идентификатор пакета определяется
CFBundleIdentifier
введите информационный список свойств пакета.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.0 и позже.
См. также
-
infoDictionary infoDictionary
СвойствоСловарь, созданный из пакета
Info.plist
файл, содержащий информацию о получателе. (только для чтения)Объявление
Swift
var infoDictionary: [NSObject : AnyObject]? { get }
Objective C
@property(readonly, copy) NSDictionary *infoDictionary
Обсуждение
Если пакет не содержит
Info.plist
файл, этот словарь содержит только закрытые ключи, использующиеся внутреннеNSBundle
класс.NSBundle
класс может добавить дополнительные ключи к этому словарю для его собственного использования. Общие ключи для доступа к значениям словаряCFBundleIdentifier
,NSMainNibFile
, иNSPrincipalClass
.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.0 и позже.
См. также
principalClass
dictionaryWithContentsOfFile:
(NSDictionary) -
Возвращает значение, связанное с указанным ключом в информационном списке свойств получателя.
Объявление
Swift
func objectForInfoDictionaryKey(_
key
: String) -> AnyObject?Objective C
- (id)objectForInfoDictionaryKey:(NSString *)
key
Параметры
key
Ключ в списке свойств получателя.
Возвращаемое значение
Значение связалось с
key
в списке свойств получателя (Info.plist
). Локализованное значение ключа возвращается, когда каждый доступен.Обсуждение
Использование этого метода предпочтено по другим методам доступа, потому что это возвращает локализованное значение ключа, когда каждый доступен.
Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.2 и позже.
-
builtInPlugInsURL builtInPlugInsURL
СвойствоФайл URL подкаталога получателя, содержащего плагины. (только для чтения)
Объявление
Swift
@NSCopying var builtInPlugInsURL: NSURL? { get }
Objective C
@property(readonly, copy) NSURL *builtInPlugInsURL
Обсуждение
Это - надлежащий путь для современного приложения и пакетов платформы. Это может не быть URL для нестандартных форматов пакета или для некоторых более старых форматов пакета.
Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.6 и позже.
-
builtInPlugInsPath builtInPlugInsPath
СвойствоПолный путь подкаталога получателя, содержащего плагины. (только для чтения)
Объявление
Swift
var builtInPlugInsPath: String? { get }
Objective C
@property(readonly, copy) NSString *builtInPlugInsPath
Обсуждение
Это - надлежащий путь для современного приложения и пакетов платформы. Это может не быть путем для нестандартных форматов пакета или для некоторых более старых форматов пакета.
Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.0 и позже.
-
executableURL executableURL
Свойство -
executablePath executablePath
Свойство -
Возвращает файл URL исполнимой программы с указанным именем в пакете получателя.
Объявление
Параметры
executableName
Имя исполняемого файла.
Возвращаемое значение
Файл URL исполнимой программы
executableName
в пакете получателя.Обсуждение
Этот метод возвращает надлежащий путь для современного приложения и пакетов платформы. Этот метод может не возвратить URL для нестандартных форматов пакета или для некоторых более старых форматов пакета.
Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.6 и позже.
-
Возвращает полный путь исполнимой программы с указанным именем в пакете получателя.
Объявление
Параметры
executableName
Имя исполняемого файла.
Возвращаемое значение
Полный путь исполнимой программы
executableName
в пакете получателя.Обсуждение
Этот метод возвращает надлежащий путь для современного приложения и пакетов платформы. Этот метод может не возвратить путь для нестандартных форматов пакета или для некоторых более старых форматов пакета.
Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.0 и позже.
-
privateFrameworksURL privateFrameworksURL
СвойствоФайл URL подкаталога пакета, содержащего частные платформы. (только для чтения)
Объявление
Swift
@NSCopying var privateFrameworksURL: NSURL? { get }
Objective C
@property(readonly, copy) NSURL *privateFrameworksURL
Обсуждение
Это свойство содержит надлежащий путь для современного приложения и пакетов платформы. Этим свойством может не быть URL для нестандартных форматов пакета или для некоторых более старых форматов пакета.
Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.6 и позже.
-
Полный путь подкаталога пакета, содержащего частные платформы. (только для чтения)
Объявление
Swift
var privateFrameworksPath: String? { get }
Objective C
@property(readonly, copy) NSString *privateFrameworksPath
Обсуждение
Это свойство содержит надлежащий путь для современного приложения и пакетов платформы. Это свойство может не содержать путь для нестандартных форматов пакета или для некоторых более старых форматов пакета.
Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.0 и позже.
-
sharedFrameworksURL sharedFrameworksURL
СвойствоФайл URL подкаталога получателя, содержащего, совместно использовал платформы. (только для чтения)
Объявление
Swift
@NSCopying var sharedFrameworksURL: NSURL? { get }
Objective C
@property(readonly, copy) NSURL *sharedFrameworksURL
Обсуждение
Это свойство содержит надлежащий путь для современного приложения и пакетов платформы. Это свойство может не содержать URL для нестандартных форматов пакета или для некоторых более старых форматов пакета.
Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.6 и позже.
-
sharedFrameworksPath sharedFrameworksPath
СвойствоПолный путь подкаталога пакета, содержащего, совместно использовал платформы. (только для чтения)
Объявление
Swift
var sharedFrameworksPath: String? { get }
Objective C
@property(readonly, copy) NSString *sharedFrameworksPath
Обсуждение
Это свойство содержит надлежащий путь для современного приложения и пакетов платформы. Это свойство может не содержать путь для нестандартных форматов пакета или для некоторых более старых форматов пакета.
Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.0 и позже.
-
sharedSupportURL sharedSupportURL
СвойствоФайл URL подкаталога пакета, содержащего, совместно использовал файлы поддержки. (только для чтения)
Объявление
Swift
@NSCopying var sharedSupportURL: NSURL? { get }
Objective C
@property(readonly, copy) NSURL *sharedSupportURL
Обсуждение
Это свойство содержит надлежащий путь для современного приложения и пакетов платформы. Это свойство может не содержать путь для нестандартных форматов пакета или для некоторых более старых форматов пакета.
Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.6 и позже.
-
sharedSupportPath sharedSupportPath
СвойствоПолный путь подкаталога пакета, содержащего, совместно использовал файлы поддержки. (только для чтения)
Объявление
Swift
var sharedSupportPath: String? { get }
Objective C
@property(readonly, copy) NSString *sharedSupportPath
Обсуждение
Это свойство содержит надлежащий путь для современного приложения и пакетов платформы. Это свойство может не содержать путь для нестандартных форматов пакета или для некоторых более старых форматов пакета.
Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.0 и позже.
-
resourceURL resourceURL
СвойствоФайл URL подкаталога пакета, содержащего файлы ресурсов. (только для чтения)
Объявление
Swift
@NSCopying var resourceURL: NSURL? { get }
Objective C
@property(readonly, copy) NSURL *resourceURL
Обсуждение
Это свойство содержит надлежащий путь для современного приложения и пакетов платформы. Это свойство может не содержать путь для нестандартных форматов пакета или для некоторых более старых форматов пакета.
Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.6 и позже.
-
Возвращает локализованную версию строки, определяемой указанным ключом и нахождением в указанной таблице.
Объявление
Параметры
key
Ключ для строки в таблице, идентифицированной
tableName
.value
Значение, чтобы возвратиться, если
key
nil
или если локализованная строка дляkey
не может быть найден в таблице.tableName
Таблица строк получателя для поиска. Если
tableName
nil
или пустая строка, метод пытается использовать таблицу вLocalizable.strings
.Возвращаемое значение
Локализованная версия строки, определяемой
key
в таблицеtableName
. Когда ключ, этот метод возвращает следующийnil
или не найденный в таблице:Если
key
nil
иvalue
nil
, возвращает пустую строку.Если
key
nil
иvalue
не -nil
, значение возвратов.Если
key
не найден иvalue
nil
или пустая строка, возвратыkey
.Если
key
не найден иvalue
не -nil
и не пустой, возвратитьсяvalue
.
Обсуждение
Для получения дополнительной информации о строковой локализации и спецификации a
.strings
файл, см. «Строковые ресурсы».Используя пользовательское значение по умолчанию
NSShowNonLocalizedStrings
, можно изменить поведениеlocalizedStringForKey:value:table:
зарегистрировать сообщение, когда метод не может найти локализованную строку. Если Вы устанавливаете это значение по умолчанию вYES
true
(в глобальном домене или в домене приложения), тогда когда метод не может найти локализованную строку в таблице, он регистрирует сообщение к консоли и капитализируетkey
прежде, чем возвратить его.Следующие циклы в качестве примера через статический массив ключей, когда кнопка нажата, получают значение для каждого ключа из названной строковой таблицы
Buttons.strings
, и устанавливает заголовок кнопки с возвращенным значением:- (void)changeTitle:(id)sender
{
static int keyIndex = 0;
NSBundle *thisBundle = [NSBundle bundleForClass:[self class]];
NSString *locString = [thisBundle
localizedStringForKey:assortedKeys[keyIndex++]
value:@"No translation" table:@"Buttons"];
[sender setTitle:locString];
if (keyIndex == MAXSTRINGS) keyIndex=0;
}
Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.0 и позже.
-
Массив чисел, указывающих типы архитектуры, поддерживается исполнимой программой пакета. (только для чтения)
Объявление
Swift
var executableArchitectures: [AnyObject]? { get }
Objective C
@property(readonly, copy) NSArray *executableArchitectures
Обсуждение
Массив
NSNumber
объекты, каждый из которых содержит целочисленное значение, соответствующее поддерживаемой архитектуре процессора. Для списка типов общей архитектуры посмотрите константы в Мужественной Архитектуре. Если пакет не содержит Мужественную исполнимую программу, этоnil
.Пакет сканирует свою Мужественную исполнимую программу и возвращает все типы архитектуры, которые он находит. Поскольку они взяты непосредственно от исполнимой программы, значения могут не всегда соответствовать одному из известных типов ЦП, определенных в Мужественной Архитектуре.
Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.5 и позже.
-
Возвращает булево значение, указывающее, мог ли бы исполняемый код пакета быть загружен успешно.
Объявление
Swift
func preflightAndReturnError(_
error
: NSErrorPointer) -> BoolObjective C
- (BOOL)preflightAndReturnError:(NSError **)
error
Параметры
error
На вводе, указателе на ошибочную переменную объекта. На выводе эта переменная может содержать ошибочный объект указание, почему не могла быть загружена исполнимая программа пакета. Если никакая ошибка не произошла бы, этот параметр оставляют неизмененным. Можно указать
nil
для этого параметра, если Вы не интересуетесь информацией об ошибке.Возвращаемое значение
YES
true
если исполняемый код пакета мог бы быть загружен успешно или уже загружается; иначе,NO
false
если не мог бы быть загружен код.Обсуждение
Этот метод фактически не загружает исполняемый код пакета. Вместо этого это выполняет несколько проверок, чтобы видеть, мог ли бы код быть загружен, и за одним исключением возвращает те же ошибки, которые произошли бы во время работы действующей нагрузки. Одно исключение
NSExecutableLinkError
ошибка, требующая, чтобы фактическая загрузка кода проверила ошибки ссылки.Для списка возможных ошибок загрузки посмотрите обсуждение для
loadAndReturnError:
метод.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.5 и позже.
См. также
-
Если код не был уже загружен, динамично загружает исполняемый код пакета в рабочую программу.
Объявление
Swift
func load() -> Bool
Objective C
- (BOOL)load
Возвращаемое значение
YES
true
если код был уже загружен, иначе, если метод успешно загружает код пакета илиNO
false
.Обсуждение
Можно использовать этот метод для загрузки кода, связанного с динамично загруженным пакетом, таким как плагин или платформа. До версии 10.5 OS X пакет попытался бы загрузить свой код — если бы это имело кого-либо — только один раз. После того, как загруженный, Вы не могли разгрузить тот код. В версии 10.5 OS X и позже, можно разгрузить исполняемый код пакета с помощью
unload
метод.Вы не должны загружать исполняемый код пакета для поиска ресурсов пакета.
Этот метод инициализирует основной класс в пакете. Поэтому для добавления кода Вы хотите выполняемый после загрузки, переопределяете
initialize
метод класса основного класса.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.0 и позже.
-
Загружает исполняемый код пакета и возвращает любые ошибки.
Объявление
Swift
func loadAndReturnError(_
error
: NSErrorPointer) -> BoolObjective C
- (BOOL)loadAndReturnError:(NSError **)
error
Параметры
error
На вводе, указателе на ошибочную переменную объекта. На выводе эта переменная может содержать ошибочный объект указание, почему не могла быть загружена исполнимая программа пакета. Если никакая ошибка не произошла, этот параметр оставляют неизмененным. Можно указать
nil
для этого параметра, если Вы не интересуетесь информацией об ошибке.Возвращаемое значение
YES
true
если исполняемый код пакета был загружен успешно или был уже загружен; иначе,NO
false
если не мог бы быть загружен код.Обсуждение
Если возвращается этот метод
NO
false
и Вы передаете значение дляerror
параметр, подходящий ошибочный объект возвращается в том параметре. Потенциальные ошибки возвратились, находятся в ошибочном домене Какао и включают следующие типы. Для полного списка ошибочных типов посмотритеFoundationErrors.h
.NSFileNoSuchFileError
- возвращенный, если не был расположен исполняемый файл пакета.NSExecutableNotLoadableError
- возвращенный, если исполняемый файл пакета существует, но не мог бы быть загружен. Если исполнимая программа не распознана как загружаемая исполнимая программа, эта ошибка возвращается. Это может также быть возвращено, если исполнимая программа является исполнимой программой PEF/CFM, но текущий процесс не поддерживает тот тип исполнимой программы.NSExecutableArchitectureMismatchError
- возвращенный, если исполнимая программа пакета не включает код, соответствующий архитектуру процессора текущего процессора.NSExecutableRuntimeMismatchError
- возвращенный, если запрошенная информация о выполнении Objective C пакета не совместима со временем выполнения текущего процесса.NSExecutableLoadError
- возвращенный, если исполнимой программе пакета не удалось загрузиться по некоторой обнаруживаемой причине до соединения. Эта ошибка могла бы произойти, если пакет зависит от платформы или библиотеки, отсутствующей или если требуемая платформа или библиотека не совместимы с текущей архитектурой или версией среды выполнения.NSExecutableLinkError
- возвращенный, если исполнимая программа не удалась загрузиться вследствие ошибок ссылки, но иначе в порядке.
Ошибочный объект может содержать дополнительную отладочную информацию в своем описании, которое можно использовать для идентификации причины ошибки. (Эта отладочная информация не должна быть выведена на экран пользователю.) Можно получить отладочную информацию путем вызова ошибочного объекта
description
метод в Вашем коде или при помощиprint-object
команда на ошибке возражает в gdb.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.5 и позже.
См. также
-
загруженный загруженный
СвойствоСостояние загрузки пакета.
Объявление
Swift
var loaded: Bool { get }
Objective C
@property(readonly, getter=isLoaded) BOOL loaded
Обсуждение
YES
true
если код пакета в настоящее время загружается, иначеNO
false
.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.10 и позже.
См. также
-
Разгружает код, связанный с получателем.
Объявление
Swift
func unload() -> Bool
Objective C
- (BOOL)unload
Возвращаемое значение
YES
true
если пакет был успешно разгружен или не был уже загружен; иначе,NO
false
если не мог бы быть разгружен пакет.Обсуждение
Этот метод пытается разгрузить исполняемый код пакета с помощью базового динамического загрузчика (обычно
dyld
). Можно использовать этот метод для разгрузки плагина и пакетов платформы, когда Вам больше не нужен код, они содержат. Необходимо использовать этот метод для разгрузки пакетов, загруженных с помощью методовNSBundle
класс только. Не используйте этот метод для разгрузки пакетов, первоначально загруженных с помощью функций манипулирования пакета в Базовой Основе.Это - ответственность вызывающей стороны гарантировать, чтобы никакие объекты в памяти или структуры данных не относились к разгружаемому коду. Например, если у Вас есть объект, класс которого определяется в пакете, необходимо выпустить тот объект до разгрузки пакета. Точно так же Ваш код не должен пытаться получить доступ к любым символам, определенным в разгруженном пакете.
Специальные замечания
До версии 10.5 OS X код не мог быть разгружен когда-то загруженный, и этот метод будет всегда возвращаться
NO
false
. В версии 10.5 OS X и позже, можно разгрузить исполняемый код пакета с помощью этого метода.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.5 и позже.
См. также
-
Возвраты одна или более локализаций из указанного списка, который объект пакета использовал бы для определения местоположения ресурсов для текущего пользователя.
Объявление
Swift
class func preferredLocalizationsFromArray(_
localizationsArray
: [AnyObject]) -> [AnyObject]Параметры
localizationsArray
Массив
NSString
объекты, каждый из которых указывает язык ID для локализации, которую поддерживает пакет.Возвращаемое значение
Массив
NSString
объекты, содержащие предпочтительные локализации. Эти строки упорядочиваются в массиве согласно предпочтениям языка пользователя и взяты от строк вlocalizationsArray
параметр.Обсуждение
Этот метод не возвращает все локализации в предпочтительном порядке, но только тех от который
NSBundle
получил бы локализованное содержание, обычно или сингл не область определенная локализация или специфичная для области локализация, сопровождаемая соответствием не область определенная локализация как нейтрализация.Однако клиенты, хотящие все локализации в предпочтительном порядке, могут выполнить повторенные вызовы, каждый раз, вынимая главные локализации из списка локализаций передал в.
Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.0 и позже.
-
preferredLocalizationsFromArray (_: forPreferences:) + preferredLocalizationsFromArray:forPreferences:
Возвращает локализации, которые объект пакета предпочел бы учитывая указанный пакет и предпочтения языка пользователя.
Объявление
Swift
class func preferredLocalizationsFromArray(_
localizationsArray
: [AnyObject], forPreferencespreferencesArray
: [AnyObject]?) -> [AnyObject]Параметры
localizationsArray
Массив
NSString
объекты, каждый из которых указывает язык ID для локализации, которую поддерживает пакет.preferencesArray
Массив
NSString
объекты, содержащие предпочтительные локализации пользователя. Если этот параметрnil
, метод использует предпочтения локализации пользователя.Возвращаемое значение
Массив
NSString
объекты, каждый из которых идентифицирует локализацию в пакете получателя. Эти строки упорядочиваются в массиве согласно указанным предпочтениям и взяты от строк вlocalizationsArray
параметр. Если ни одна из предпочтенных пользователями локализаций не доступна в пакете, этот метод возвращает одну из локализаций пакета.Обсуждение
Этот метод не возвращает все локализации в предпочтительном порядке, но только тех от который
NSBundle
получил бы локализованное содержание, обычно или сингл не область определенная локализация или специфичная для области локализация, сопровождаемая соответствием не область определенная локализация как нейтрализация.Однако клиенты, хотящие все локализации в предпочтительном порядке, могут выполнить повторенные вызовы, каждый раз, вынимая главные локализации из списка локализаций передал в.
Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.2 и позже.
-
Упорядоченный список предпочтительных локализаций содержится в пакете. (только для чтения)
Объявление
Swift
var preferredLocalizations: [AnyObject] { get }
Objective C
@property(readonly, copy) NSArray *preferredLocalizations
Обсуждение
Массив
NSString
объекты, содержащие язык IDs для локализаций в пакете. Строки упорядочиваются согласно предпочтениям языка пользователя и доступным локализациям.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.0 и позже.
-
Локализация для языка разработки. (только для чтения)
Объявление
Swift
var developmentLocalization: String? { get }
Objective C
@property(readonly, copy) NSString *developmentLocalization
Обсуждение
Это свойство соответствует значению в
CFBundleDevelopmentRegion
ключ списка свойств пакета (Info.plist
).Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.2 и позже.
-
локализации локализации
СвойствоСписок всех локализаций содержится в пакете. (только для чтения)
Объявление
Swift
var localizations: [AnyObject]? { get }
Objective C
@property(readonly, copy) NSArray *localizations
Обсуждение
Массив
NSString
объекты, содержащие язык IDs для всех локализаций, содержатся в пакете.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.0 и позже.
-
Словарь с ключами от локализованного списка свойств пакета. (только для чтения)
Объявление
Swift
var localizedInfoDictionary: [NSObject : AnyObject]? { get }
Objective C
@property(readonly, copy) NSDictionary *localizedInfoDictionary
Обсуждение
Это свойство использует предпочтительную локализацию для текущего пользователя при определении который ресурсы включать. Если предпочтительная локализация не доступна, это свойство выбирает самую надлежащую локализацию, найденную в пакете.
Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.2 и позже.
-
Эти константы описывают типы ЦП, которые может поддерживать исполняемый код пакета.
Объявление
Swift
var NSBundleExecutableArchitectureI386: Int { get } var NSBundleExecutableArchitecturePPC: Int { get } var NSBundleExecutableArchitectureX86_64: Int { get } var NSBundleExecutableArchitecturePPC64: Int { get }
Objective C
enum { NSBundleExecutableArchitectureI386 = 0x00000007, NSBundleExecutableArchitecturePPC = 0x00000012, NSBundleExecutableArchitectureX86_64 = 0x01000007, NSBundleExecutableArchitecturePPC64 = 0x01000012 };
Константы
-
NSBundleExecutableArchitectureI386
NSBundleExecutableArchitectureI386
Указывает 32-разрядную архитектуру Intel.
Доступный в OS X v10.5 и позже.
-
NSBundleExecutableArchitecturePPC
NSBundleExecutableArchitecturePPC
Указывает 32-разрядную архитектуру PowerPC.
Доступный в OS X v10.5 и позже.
-
NSBundleExecutableArchitectureX86_64
NSBundleExecutableArchitectureX86_64
Указывает 64-разрядную архитектуру Intel.
Доступный в OS X v10.5 и позже.
-
NSBundleExecutableArchitecturePPC64
NSBundleExecutableArchitecturePPC64
Указывает 64-разрядную архитектуру PowerPC.
Доступный в OS X v10.5 и позже.
-
-
Эта константа предоставлена в
userInfo
словарьNSBundleDidLoadNotification
уведомление.Константы
-
NSBundle
сообщенияNSBundleDidLoadNotification
уведомлять наблюдателей, какие классы и категории были динамично загружены. Когда запрос выполнен кNSBundle
объект для класса (classNamed:
илиprincipalClass
), пакет динамично загружает файл исполняемого кода, содержащий реализацию класса и все другие определения классов, содержавшиеся в файле. После того, как модуль загружается, пакет отправляетNSBundleDidLoadNotification
.Объект уведомления
NSBundle
экземпляр, динамично загружающий классы.userInfo
словарь содержитNSLoadedClasses
ключ.В типичном использовании этого уведомления объект мог бы хотеть перечислить
userInfo
выстройте, чтобы проверить, соответствовал ли каждый загруженный класс определенному протоколу (скажите, протокол для комплекта инструментальных средств Plug and Play); если бы класс действительно соответствует, объект создал бы экземпляр того класса и добавил бы экземпляр к другомуNSArray
объект.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.0 и позже.