我应该总是在Objective-C中使用访问器作为实例变量吗?

6 oop objective-c

如果我有一个带有一些IBOutlets的类,那么为这些创建访问器似乎有点愚蠢.

但后来我觉得我打破OO的做法并不总是通过实例变量的访问器.

对于一些不应公开的实例变量,我也有同样的感觉,我宁愿不公开某些类的内部工作.我可以将实际的ivars设为私有,但@property简写似乎无法指定可见性.这导致我不创建访问器并直接访问ivars.我不确定这是否令人不悦.是吗?

对于这个公认的新手问题,社区的想法是什么?(请忽略点语法)

Geo*_*lly 4

我不确定是否直接访问实例变量,我认为不应该,但对于某些变量,使用访问器是没有意义的。就像对于IBOutlet你提到的 s 一样。

\n\n

我只能通过私人访问器来帮助您。从 Objective-C 2.0 开始你可以声明扩展

\n\n
\n

类扩展类似于 \xe2\x80\x9canonymous\xe2\x80\x9d\n 类别,只不过它们声明的方法\n 必须在\n 主函数中实现。@implementation类扩展类似于 \xe2\x80\x9canonymous\xe2\x80\x9d\n 类别,只不过它们声明的方法\n 必须在\n 相应类的

\n
\n\n

只需将此扩展放入单独的头文件中,您将拥有在头文件中不可见的私有访问器。

\n