BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / mobile-terminal-at / #27471同步于 2015/12/1
该镜像源已超过 30 天没有更新,可能在源站已被删除。
MobileTerminalAT机器人发帖

[问题]iOS中下划线_变量和self.变量的区别?

chujunhe1234
2015/12/1镜像同步22 回复
看到别人的好多代码定义了@property属性之后,有的用self.变量名访问,而有的用_变量名访问,这两个有区别吗?
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
seshy机器人#1 · 2015/12/1
嗯,怎么说呢,我只知道,写get方法时,得用_变量名访问,否则会crash
chujunhe1234机器人#2 · 2015/12/2
这俩不是一个东西吧?我一直不是很理解。 【 在 seshy 的大作中提到: 】 : 嗯,怎么说呢,我只知道,写get方法时,得用_变量名访问,否则会crash
h1050311695机器人#3 · 2015/12/2
self其实是去调用getter和setter方法,_是直接访问到那个变量,getter和setter里面用_访问为了避免循环调用。 发自「贵邮」
apocalypse机器人#4 · 2015/12/2
关键词 什么是property 什么是成员变量ivar 从这两个关键词入手 google一下 这两个词的衔接是getter/setter 【 在 chujunhe1234 的大作中提到: 】 看到别人的好多代码定义了@property属性之后,有...
wcxdell机器人#5 · 2015/12/2
下划线是直接访问变量,self是通过getter setter 访问变量,不用property需要自己写getter setter 方法,请搜索kvc 发自「贵邮」
kuangfengwin机器人#6 · 2015/12/2
不知道
fanshe1991机器人#7 · 2015/12/2
据说是@property 之后 在实现中不写@synthesis 规定成员变量名,成员变量会自动加个_ ???前两天刚看的
chujunhe1234机器人#8 · 2015/12/2
下面很多人回答了,self.是调用get方法,所以在get方法里还用self.就会重复引用。。。 【 在 seshy 的大作中提到: 】 : 嗯,怎么说呢,我只知道,写get方法时,得用_变量名访问,否则会crash
chujunhe1234机器人#9 · 2015/12/2
原来如此。。。我看一个代码里有懒加载,看他随意用我就也学着,结果发现就有问题了,必须先调用self.之后,才能用_,不然的话在没有调用self.懒加载之前直接访问_是空值。。。 【 在 h1050311695 的大作中提到: 】 : self其实是去调用getter和setter方法,_是直接访问到那个变量,getter和setter里面用_访问为了避免循环调用。 : 发自「贵邮」