点语法

作者: 越天高 | 来源:发表于2019-02-20 20:50 被阅读14次
  • 如果给属性提供了getter和setter方法, 那么访问属性就又多了一种访问方式 , 点语法
  • 点语法其实它的本质是调用了我们的setter和getter方法
  • 点语法是一个编译器的特性, 会在程序翻译成二进制的时候将.语法自动转换为setter和getter方法
  • 如果点语法在=号的左边, 那么编译器会自动转换为setter方法
  • 如果点语法在=号的右边, 或者没有等号, 那么编译器就会自动转换为getter方法


    dyf.png

3.点语法注意

  • 点语法的本质是方法的调用,而不是访问成员变量,当使用点语法时,编译器会自动展开成相应的方法调用。

  • 切记点语法的本质是转换成相应的对setter和getter方法调用,如果没有set和get方法,则不能使用点语法。

  • 不要在getter 与 setter方法中使用本属性的点语法

- (void) setAge:(int)age {
    // 下面的代码会引发死循环
    self.age = age;
        //编译器展开后 [self setAge:age]
}


- (int) age {
    // 下面的代码会引发死循环
    return self.age;
          // 编译器展开后 [self   age]
}

相关文章

  • 1.4 点语法

    本小节知识点: 【掌握】点语法基本使用 【掌握】点语法的本质 【掌握】点语法注意 1.点语法基本使用 2.点语法的...

  • 核心语法-点语法

    main.m 点语法 #import #import "Per...

  • 点语法

    如果给属性提供了getter和setter方法, 那么访问属性就又多了一种访问方式 , 点语法 点语法其实它的本质...

  • Objective-C基础学习之点语法

    1点语法的本质 其实点语法的本质还是方法调用 当使用点语法时,编译器会自动展开成相应的方法 当点语法使用在 “=“...

  • OC-构造方法

    一、【掌握】点语法的介绍和使用 1.点语法是编译器特性,当编译器看到对象使用点语法,会自动把点语法转换为调用set...

  • DjangoDTL语法变量点语法

    如果变量中含有点:则解析顺序如下如{{book.id}}: 当做一个字典处理 属性或者方法查询(方法不用带小括号)...

  • 点语法与self关键字

    1.点语法 如果给属性提供了getter和setter方法, 那么访问属性就又多了一种访问方式 , 点语法 点语法...

  • iOS 之Masonry点语法简单实现 OC链式(点)语法

    常见的OC中括号链式语法 Masonry 上图: 点语法:在 Objective-C 中,对于点语法的使用,最常见...

  • 点语法 self

    点语法 注意点 一般用于成员变量赋值一般情况下不建议使用 lf注意点1.self会自动识别当前调用的是类方法还是对...

  • Swift语法点

    1 懒加载 懒加载与OC中的懒加载的区别:懒加载的类一旦 设置为nil 后, 懒加载就不会再次执行,与OC中不同,...

网友评论

    本文标题:点语法

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