欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

OC-快速调用对象的setter和getter方法----点语法

程序员文章站 2022-06-02 17:04:29
...

01).点语法

01>.作用

    快速调用对象的setter和getter方法

02>.语法

    对象 . 去掉下划线的属性名

03>.赋值

    对象 . 去掉下划线的属性名 = 数据;

04>.取值

    对象 . 去掉下划线的属性名           

05>.使用注意

    a.在getter 和 setter 方法中,慎用点语法,容易造成死循环
- (void)setAge:(NSInteger)age{  
    //如果我们定义的全局变量是age而不是_age的话  
    //不能用age = age进行赋值  
    //同样也不能使用self.age = age
    //因为self.age等价于[self setAge:age]这样就会出现死循环了  
    //所以我们在定义全局变量的时候一般都会加上一个下划线以便区分  
    _age = age;  
    NSLog(@"setAge is Execute");  
} 
    b.点语法的本质是调用setter和getter方法,如果没有相应的方法,则调用失败
int main()
{
       //只要有返回值就是getter方法

        Person *person1 = [[Person alloc] init ];
        //此处的点语法调用的是setter方法
        person1.name = @"jack";//等价于[person1 setName:@"jack"];
        person1.age = 15;

        //此处的点语法调用的getter方法
        NSString *name = person1.name;//等价于NSString *name = [person1 name];
        NSLog(@"name is %@",name);
}
    c.点语法实在编译器编译的时候,准换为调用对应的getter和setter方法
      方法名必须符合规范
    d.点语法只能使用于set/get方法,如果没有对应的set/get方法的话,是不能使用.语法的
相关标签: 数据 对象

上一篇: 过多if-else重构

下一篇: ES6 Map类型