Понимание этого использования "(Private)" в объявлении @interface - PullRequest
2 голосов
/ 29 июня 2011

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

@interface AViewController(Private)

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

Ответы [ 3 ]

7 голосов
/ 29 июня 2011

Эта категория называется «Частный».

Ознакомьтесь с главой Категории и расширения справочника по программированию Objective-C

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

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

2 голосов
/ 29 июня 2011

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

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

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

1 голос
/ 29 июня 2011

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

@ интерфейс AViewController (AVPrivate);

...