Подтвердить что ты не робот

Что такое NSBundle и mainBundle в объекте C?

Я хочу задать вопрос о цели C для приложения iPhone. Я прочитал несколько примеров программы на веб-сайте разработчика Apple, и я обнаружил, что почти все приложения содержат слово "NSBundle" и "mainBundle", и я действительно не понимаю смысла этого слова. Может ли кто-нибудь мне рассказать об этом? Большое вам спасибо.

4b9b3361

Ответ 1

Пакет - это структура, используемая для упаковки программного обеспечения в Mac OS X. Приложения, фреймворки и плагины - это всевозможные пакеты. Связки могут содержать исполняемый код, ресурсы, файлы заголовков и другие материалы (включая другие пакеты), если вы этого пожелаете.

Связки реализуются как деревья каталогов с определенной структурой. Приложения, каркасы и плагины имеют свои собственные изменения в структуре дерева. Однако, для Finder, пачки выглядят как отдельные файлы.

Основной комплект - это просто набор запущенного приложения. Так, например, основным пакетом почтовой программы Apple является/Applications/Mail.app.

Ответ 2

Предположим, что наш код:

NSString *myFile=[[NSBundle mainBundle]pathForResource:@"subjects" ofType:@"plist"];

Мы создаем subject.plist в списке свойств Xcode (Файл > новый > новый файл > iOS > ресурs > ) и скопируем его в нашу поддерживающую папку.

Это действительно способ добраться до установленной файловой системы на устройстве iOS, когда мы не знаем, что это такое. Это способ получить наш файл subject.plist, который является частью нашего внутреннего пакета или внутреннего пакета для нашего приложения. У нас нет прямого доступа к файловой системе на устройстве iOS, так что мы сможем овладеть нашими собственными активами.