代码之家  ›  专栏  ›  技术社区  ›  Harrison Xi

目标C-我们应该使用强、弱还是指定类类型?

  •  1
  • Harrison Xi  · 技术社区  · 8 年前

    我知道我们应该对obj-c对象属性/ivar使用强/弱。但是我发现我可以使用strong作为类类型属性/ivar。

    @property (nonatomic, strong) Class testClass;
    

    代码不会导致生成错误。为什么?我们应该用强项还是分配?

    1 回复  |  直到 8 年前
        1
  •  2
  •   trungduc 邱林和    8 年前

    根据 The Secret Life of Classes

    类对象不是实例,但它绝对是一个成熟的对象

    您不必做任何事情来创建类对象。当程序启动时,为程序定义的每个类自动创建一个类对象。

    当然,你可以用 strong 对于一个物体。

    类对象何时释放? -简单的答案是当程序完成时。

    没有理由关心在程序运行时永远不会释放的对象的保留计数。这意味着,如果使用强/弱/赋值,这个对象仍然不会被破坏,直到程序完成。

    所以你想用什么就用什么,结果都一样。

    推荐文章