0

现在随着新 Xcode 的发布,据说属性会自动合成,而且实际上只要您使用'_'前缀,它们就可以在不合成的情况下访问。但我最近发现 Xcode 允许我以另一种方式访问​​这些属性 - 使用'self.*'前缀(其中 * 是属性的名称)。

它是否正确?我应该使用它吗?它会损害我的代码吗?

谢谢。

4

1 回答 1

3

使用它的 getter/setter_yourProperty访问实例变量。self.yourProperty只要您确定没有定制的 getter/setter,两者都是相同的(getter/setter 的性能损失非常小)。但是,一般来说,您应该使用 getter/setter 方法(除了 getter/setter 本身),以防您以后更改代码。

编辑:

@Vanthel:下划线是纯粹的约定。没有@synthesize(或有@synthesize foo),编译器为一个属性生成foo一个变量_foo。但是,通过您分配要由 的访问者访问@synthesize foo = my_bar的变量。my_barfoo

于 2012-08-27T07:23:02.003 回答