直接从另一个类访问非对象的IVars?

时间:2010-09-30 17:23:12

标签: objective-c

在Objective-C 2.0中,我通常为ivars创建assign属性,这些属性是float等基本类型。然后我发现我可以使用obj->variable表示法从课外访问它们。我想这是不好的做法:是吗?

1 个答案:

答案 0 :(得分:2)

是的,这是不好的做法,因为它打破了类的实现细节的封装。 @property声明是一个公共API声明(“我的类提供类型的属性,例如float),而不是实现声明(”我的类有一个{{1实例变量“)。类API的客户端不应该知道它的实现细节,以免在不破坏客户端代码的情况下更改这些细节。