可能的重复:
在 Objective C 中使用下划线作为属性名称前缀
在综合属性时我发现有人在做:
@synthesize myVar = _myVar;
什么是“_myVar”以及与简单执行的区别:
@synthesize myVar;
最后,我什么时候应该更喜欢第一个解决方案而不是最后一个?
谢谢
卢卡
What _myVar
在您的示例中,确实是支持您财产的 ivar 的名称。默认情况下,当您综合属性时,会为您创建一个同名的 ivar。因此,您可以使用您的属性通过 setter/getter 或_myVar
直接访问你的变量(当然绕过 KVC/KVO)。
EDIT:来自苹果的Cocoa 编码指南
...在许多情况下,当您使用声明的属性时,您还综合了
相应的实例变量。
确保实例变量的名称简洁地描述了
属性已存储。通常,您不应该访问实例变量
直接,您应该使用访问器方法(您确实访问
实例变量直接在 init 和 dealloc 方法中)。帮助
表示这一点,在实例变量名称前添加下划线 (_)...
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)