代码之家  ›  专栏  ›  技术社区  ›  Dan Rosenstark

直接从其他类访问非对象的ivars?

  •  0
  • Dan Rosenstark  · 技术社区  · 14 年前

    在objective-c 2.0中,我通常 assign IVAR的属性,它是类似于 float . 然后我突然想到,我可以从课堂外通过 obj->variable 符号。我想这是不好的做法:是吗?

    1 回复  |  直到 14 年前
        1
  •  2
  •   Barry Wark    14 年前

    是的,这是一个糟糕的实践,因为它破坏了类的实现细节的封装。这个 @property 声明是公共API语句(“我的类提供 财产 类型,例如 float )不是一个实现语句(“我的类有一个 浮动 实例变量”)。类API的客户机不应该知道其实现细节,以免在不破坏客户机代码的情况下更改这些细节。