属性和实例变量的区别:

2016-06-09  本文已影响246人  钎探穗

给大家举个例子看看,应该就会明白的.


如果在一个类的.m文件中出现self.name这样的表达式是错误的.xcode会提示你使用->,改成self->name就可以了.因为oc中点表达式是表示调用方法,如果没有声明name这个属性就不能调用.
oc语法关于点表达式的说明:”点表达式(.)看起来与C语言中的结构体访问以及Java语言汇总的对象访问有点类似,如果点表达式出现在等号 = 左边,该属性名称的setter方法将被调用。如果点表达式出现在右边,该属性名称的getter方法将被调用。”

简单的说就是:在oc中点表达式其实就是调用对象的setter和getter方法的一种快捷方式,而且编译器会直接给属性提供对应的实例变量(当然也可以手动指定该属性所对应的实例变量)和getter/setter方法.


上一篇 下一篇

猜你喜欢

热点阅读