【问题标题】:Is it better to use -> instead of . in to implement `copyWithZone:` method in objective-c?使用 -> 而不是 .在objective-c中实现`copyWithZone:`方法?
【发布时间】:2015-07-11 03:41:27
【问题描述】:

假设有一个具有属性 p1 的类 A,并且 p1 的设置器已被覆盖。现在我想为 A 类实现 NSCopying 协议。

据我了解,由于您“复制”了 A 类的实例,因此无需在 copyWithZone: 方法中触发任何 setter 方法。所以copyOfInstance -> _p1 = _p1;copyOfInstance.p1 = _p1 好。对吗?

【问题讨论】:

    标签: objective-c nscopying


    【解决方案1】:

    是的。您正在形成新对象,就像您正在实现一个初始化程序一样。所以规则是一样的。正如你不能在init... 方法中使用setter 方法一样,你也不能在copyWithZone: 中使用setter。

    【讨论】:

    • 谢谢!顺便说一句,我总是使用 self.在 init 中设置变量。新的教训。 :)
    • 我担心的一个问题是问题描述中使用了 -> 符号。这是我第一次使用它,我不确定它是否正确。
    猜你喜欢
    • 2011-07-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多