основной класс NSBundle

Помогите мне понять то, для чего используется principalClass? каков синтаксис его. я понимаю, плетут кружево, это находится в Классе NSBundle, но мы можем создать его для каких-либо пакетов, это специфичный только для загружаемых пакетов? помогите мне знать понятие principalClass.

Благодарить Вас.

5
задан suse 28 December 2009 в 03:54
поделиться

2 ответа

"Основной класс" связки - это всего лишь класс Objective-C, который обозначен как основной класс связки и, таким образом, будет возвращен методом -principalClass экземпляра связки.

Ничего больше, ничего меньше и нет магии.

Он существует только для нагружаемых связок, потому что только нагружаемые связки определяют новые классы Objective-C.

.
5
ответ дан 18 December 2019 в 11:57
поделиться

PrincipalClass позволяет узнать, какой класс начать использовать после загрузки пакета. Например, предположим, что вы используете пакеты для представления плагинов для приложения для обработки изображений. Когда вы говорите среде выполнения Objective-C загрузить пакет "CSISharpener.bundle", он загрузит в память кучу новых классов. Однако вам все равно необходимо знать имя класса для отправки сообщений, чтобы на самом деле использовать плагин.

В нашем примере PrincipalClass может возвращать CSISharpeningFilter, который соответствует протоколу плагина, который мы сказали разработчикам плагина использовать. Таким образом, мы можем создать экземпляр «PrincipalClass» и начать его использовать, не зная заранее, каково имя класса.

Другими словами, PrincipalClass позволяет программам, загружающим пакеты, легко находить «точку входа» в код, который они только что загрузили. То, для чего он используется, будет зависеть от того, какой код загружает пакет и для чего он его использует.

3
ответ дан 18 December 2019 в 11:57
поделиться
Другие вопросы по тегам:

Похожие вопросы: