Что такое частные API - PullRequest
13 голосов
/ 08 июня 2010

Что означает Apple, когда они ссылаются на частные API?

Ответы [ 4 ]

18 голосов
/ 08 июня 2010

Недокументированные API или API, которые они явно не предоставили разработчику.

Хотя вы можете получить к ним доступ, нет никакой гарантии, что эти API не изменятся в будущих версиях iOS, плюс этоОгненный способ отклонить ваше приложение.

5 голосов
/ 09 июня 2010

Закрытый метод - это метод, который используется как деталь реализации, а не как [открытый] интерфейс. В других языках, где открытые и закрытые методы более эффективны, закрытые методы обычно нельзя вызывать из чего-либо, кроме класса, в котором они содержатся. Целью которого является скрыть детали реализации или предотвратить внешнюю зависимость от деталей реализации. Например, NSArray, вероятно, имеет ряд частных методов, которые занимаются распределением памяти и оптимизированным хранилищем для эффективного доступа.

Objective-C не имеет по-настоящему частных методов; Вы можете свободно отправлять любое сообщение на любой объект, и оно может отвечать на него или нет. Во время выполнения вы также можете точно проверить, на какие сообщения класс (и его экземпляры) будут отвечать через серию вызовов API времени выполнения Objective C [которые публично задокументированы].

Некоторые люди пытаются использовать частные методы, чтобы получить поведение программы, которое невозможно с публично документированным интерфейсом; возможно, в качестве оптимизации, возможно, для того, чтобы API никогда не предназначался. Это легко возможно из-за динамической природы Objective-C и отсутствия истинных частных методов.

В качестве примечания; Apple обычно использует нижнее подчеркивание в именах методов, чтобы обозначить его как частное. Apple также заявляет, что имена методов, начинающиеся с подчеркивания, зарезервированы только для Apple.

1 голос
/ 08 июня 2010

Частный API - это обычно вызов метода, который не предполагается, что должен вызываться сторонними разработчиками. Эти вызовы обычно зарезервированы для поставщика продукта / API (Apple) и, как правило, являются «частными», потому что их реализация может измениться в будущем - и если они позволят разработчикам использовать их и изменения реализации, приложение может сломаться .

0 голосов
/ 08 июня 2010

Они означают API, которые предназначены только для Apple.Или, если быть более точным, как правило, НЕ для разработчиков SDK.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...