Как скрыть метод в моем подклассе?

Я создаю класс путем создания подклассов, и у меня есть метод, который я использую для настройки объекта, который не должен использоваться пользователями класса. Есть ли способ скрыть этот метод или сделать его приватным?


person Christian Gossain    schedule 28.06.2011    source источник
comment
возможный дубликат Можно ли объявить метод как приватный в Objective-C?   -  person Lou Franco    schedule 28.06.2011


Ответы (1)


Можно оставить метод вне объявления класса, чтобы он не был виден при просмотре заголовочного файла, но вы действительно не можете полностью скрыть метод. В крайнем случае, целеустремленный разработчик может легко запросить среду выполнения, чтобы получить класс объекта, а оттуда список методов, предоставляемых классом.

Соглашение и доверие — два важных фактора, которыми руководствуются при разработке Objective-C. Вероятно, лучший способ запретить клиентам вызывать ваш метод установки, не связывая себя и свой код узлами, — это поместить в документацию большое предупреждение: «Этот метод предназначен только для внутреннего использования и не должен вызываться клиентским кодом».

person Caleb    schedule 28.06.2011
comment
Спасибо за ответ. Лучшее, как вы сказали, расширив класс, используя безымянную категорию, как указано в документации Apple Objective C 2.0. - person Christian Gossain; 29.06.2011