![]() |
1
99
如果对ivar使用下划线前缀(这只不过是一种常见的约定,但很有用),那么需要做一件额外的事情,以便自动生成的访问器(用于属性)知道要使用哪个ivar。具体来说,在您的实现文件中
|
![]() |
2
18
|
![]() |
3
9
我看到的唯一有用的目的是区分局部变量和成员变量,如上所述,但这不是必要的约定。当与@property配对时,它会增加synthesis语句的冗长性
不要使用下划线,只需在不冲突的方法中使用描述性变量名即可。当他们必须冲突时, 方法中的变量名应带有下划线,而不是多个方法可能使用的成员变量
编辑: 使用最新的自动合成编译器功能,我现在对ivar使用下划线(在极少数情况下,我需要使用ivar来匹配自动合成的功能)。 |
![]() |
4
5
它实际上没有任何意义,它只是一些人用来区分成员变量和局部变量的约定。 至于错误,听起来aMission的类型是错误的。它的声明是什么? |
![]() |
5
2
这仅适用于属性的命名约定。 当您在.m文件中合成变量时,Xcode将自动为您提供变量智能。 |
![]() |
6
1
使用下划线不仅可以解决IVAR问题,而无需使用 自我成员 例子:
|
![]() |
7
1
这似乎是有关self.variableName与_variableName的问题的“主”项。让我大吃一惊的是,在.h中,我有:
这导致self.variableName和_variableName是.m中两个不同的变量。我需要的是:
然后,在类“.m”中,self.variableName和_variableName是等价的。 我仍然不清楚的是,为什么许多例子仍然有效,即使很难做到这一点。 射线 |
![]() |
8
0
您可以使用self.variable name代替下划线,也可以合成变量以使用不带下划线的变量或出口。 |
![]() |
9
0
其他答案中缺少的是使用
编译器将强制您使用
|
![]() |
Martin sku · 在目标C中打印时间 3 年前 |
![]() |
Vinod prajapat · 如何更新数组的最后一个元素? 3 年前 |
![]() |
subin272 · 修复iOS中的多个按钮单击事件? 7 年前 |
![]() |
James Chan · 如何使用锁定/解锁? 7 年前 |
![]() |
Josh F. · NSBundle mainBundle返回零 7 年前 |