Я просмотрел кучу сообщений по этому вопросу. Возможно, я не перебежал через "один", и кто-то укажет мне в этом направлении. Вопрос прост и, вероятно, имеет простой ответ.
Если у вас есть два ivars, скажем, "public_ivar" и "private_ivar", где/как вы должны их объявлять, чтобы общедоступность была общедоступной, а частная не подвергалась никому, кто смотрит на заголовочный файл
Тот же вопрос в случае "public_method" и "private_method".
Мне нравятся чистые файлы заголовков (на других языках), которые выставляют только методы и ivars, которые я хочу видеть другим. Вы должны быть в состоянии опубликовать свой файл заголовка и не столкнуться с опасностью того, что кто-то получит доступ к тому, чего они не должны. Как вы это делаете в objective-C.
Например, скажем, что я решил, что мне нужно использовать ivar для отслеживания некоторых данных, счетчика или чего-то подобного, между различными методами класса, которым всем нужен доступ к этой информации. Если этот ivar объявлен условно в заголовке в @interface, его существование публично рекламируется и может использоваться любым, кто создает экземпляр класса. Идеальный сценарий будет заключаться в том, что этот ivar не будет видимым вообще вне реализации класса.