美文网首页
【Effective Objective-C 2.0 读书笔记】

【Effective Objective-C 2.0 读书笔记】

作者: DoubleLife不可以 | 来源:发表于2016-03-05 19:15 被阅读50次

    第十八条:尽量使用不可变对象

    设计类的时候,应充分运用属性来封装数据。

    在使用属性时,则可将其声明为“只读”。

    默认情况下,属性是“既可读又可写的”,这样设计出来的类都是“可变的”(mutable)。

    不过一般情况下,我们要建模的数据未必需要改变。

    所以,一般情况下,对外公开的接口一般声明为readOnly。

    也可以在类内部实现重新声明为readwrite,这样可以在类内部修改参数。

    这样,就只能在类的实现代码内部设置这些属性了。

    其实准确的说,在对象外部,可以通过“键值编码”(KVC)技术设置这些属性的值。

    【要点】

    尽量创建不可变的对象。

    若某属性仅可于对象内部修改,则在“class-continuation分类”中将其由readonly属性扩展为readwrite属性。

    不要把可变的collection作为属性公开,而应提供相关方法,以此修改对象中的可变collection。

    相关文章

      网友评论

          本文标题:【Effective Objective-C 2.0 读书笔记】

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