美文网首页
用 @property 声明的 NSString (或 NSAr

用 @property 声明的 NSString (或 NSAr

作者: 管乐_VICTOR | 来源:发表于2017-10-19 17:29 被阅读16次

    因为父类指针可以指向子类对象,使用copy目的是为了让本对象的属性不受外界的影响,使用copy无论是给我传入一个可变对象还是不可变对象,我本身持有的都是一个不可变的副本。
    如果我们使用的是strong 的话,那么这个属性如果指向一个可变对象,可变对象在外部被修改的时候,会影响本身的属性。

    copy 所表达的所属关系与strong 类似,但是copy设置方法并不保留新值。当属性为NSString 时,因为传递给设置方法的新值有可能指向一个NSMutableString 类的实例。这个类是 NSString 的子类,此时若是不拷贝字符串,那么设置完属性之后,字符串的值就可能会在对象不知道的情况下被更改。

    相关文章

      网友评论

          本文标题:用 @property 声明的 NSString (或 NSAr

          本文链接:https://www.haomeiwen.com/subject/ymvzyxtx.html