zoukankan      html  css  js  c++  java
  • 属性的隐藏调用

    关于隐藏

    大家知道,self.property 其实是调用了类的 [self property] 方法,所以这其实是有一层方法调用的隐藏,很多时候,我们需要延迟初使化一个类成员的时候,就会把这个成员的初使化方法写在这个 [self property] 方法的实现中。

    那么问题来了,当你在阅读别人代码时,看到 self.property 的时候,你会想:这里会不会有一些隐藏的函数实现?于是你需要跳转到其方法实现中去查找。但是在实际开发中,大部分的 property 其实是使用编译器自动生成的 Getter 和 Setter 方法,于是你会找不到实现,这个时候,你才知道:“哦,原来这段代码并没有做自定义的成员初使化工作”。

    这种默认的隐藏在代码中多了,会影响代码的阅读和维护。其实大部分的类成员变量都需要在类初使化方法中赋值,大部分的 UIViewController 的成员变量,都需要在 viewDidLoad 方法中赋值。那既然这样,不如直接在相应的方法中用一个名为 setupProperty 方法直接进行初使化。这样的好处是,代码的可读性更好了,self.property 只有需要延迟初使化的情况下才被使用。

    参考链接:

    1.http://blog.devtang.com/2015/03/15/ios-dev-controversy-1/

    2.https://touchspring.gitbooks.io/document/content/iOS/objective-c_%E5%8F%8D%E5%B0%84%E7%AF%87.html

  • 相关阅读:
    解决“ 故障模块名称: clr.dll ”
    关于阿里云专有网络搭建FTP服务器的深坑
    电脑异常断电,IDEA崩溃
    Winform 出现“Win已停止工作”解决方法
    C# WinForm控件、自定义控件整理(大全)
    cmd获取管理员权限等
    检测笔记本电池状态
    单片机
    常用工具、焊接技术
    元器件
  • 原文地址:https://www.cnblogs.com/Jenaral/p/6148856.html
Copyright © 2011-2022 走看看