Понимание этого использования "(Private)" в объявлении @interface

Я видел некоторый код, написанный таким образом:

@interface AViewController(Private)

Я хотел знать, если это (Private) что-то значит при отправке в App Store? Что это вообще значит?

3 ответа

Это категория под названием "Частный".

Загляните в раздел " Категории и расширения" справочника по программированию Objective-C

Это означает, что это дополнение к классу AViewControler, которое для удобства было названо "Private". Это можно было назвать как угодно или даже оставить пустым для создания расширения класса.

Вы можете создавать частные методы в своем собственном коде, который может вызывать ваше приложение. На самом деле это хорошая практика, поскольку она указывает на правильную инкапсуляцию (хотя в Objective-C не существует такого понятия, как закрытый метод). То, что вам не разрешено делать, - это использовать в своем коде частные методы платформ iOS, если вы не хотите, чтобы ваше приложение было отклонено из App Store.

(Private) в этом случае рассматриваются принципы объектно-ориентированного программирования.

Это не обязательно означает Частный API, который нарушает Соглашение Apple iPhone Developer.

Примечание. Утверждение в App Store является очень "черным ящиком", поэтому я не могу гарантировать, что такой код действительно не приведет к отклонению в процессе утверждения.

Частный - это просто способ определить категорию объекта. Не имеет большого значения для Apple, но я бы рекомендовал использовать уникальное имя при добавлении категорий в хорошо известные библиотеки, например, в FoundationFramework. Если ваше соглашение об именах является префиксом AV, добавьте категорию, подобную этой.

@interface AViewController (AVPrivate);

Другие вопросы по тегам