Как объявить переменные и методы экземпляра, которые не видны или не могут использоваться вне экземпляра класса?

Я просмотрел кучу сообщений на эту тему. Может, я не наткнулся на «единственного» и кто-то мне укажет в том направлении. Вопрос прост и, вероятно, имеет простой ответ.

Если у вас есть два ivar, скажем, «public_ivar» и «private_ivar», где / как вы должны объявить их, чтобы то, что является публичным, было публичным, а то, что частное, не подвергнуты каким-либо образом любому, кто просматривает файл заголовка?

Тот же вопрос в случае "public_method" и "private_method".

Мне нравятся чистые файлы заголовков (на других языках), которые раскрывают только методы и ivars I хочу, чтобы кто-то другой увидел. Вы должны иметь возможность опубликовать свой файл заголовка и не столкнуться с опасностью того, что кто-то получит доступ к тому, что ему не нужно. Как это сделать в Objective-C.

Например, предположим, что я решил, что мне нужно использовать ivar для отслеживания некоторых данных, счетчика или чего-то подобного, между различными методами класса, которым всем нужен доступ к этой информации. Если этот ivar условно объявлен в заголовке под @interface, его существование публично рекламируется, и его может использовать любой, кто создает экземпляр класса. Идеальным сценарием было бы, что этот ivar вообще не был бы виден вне реализации класса.

13
задан martin's 29 April 2011 в 00:09
поделиться

0 ответов

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

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