属性名前面的下划线,在setter中

我写了一个setter方法 –

- (void)setMyProp:(MyProp *)myProp{ _myProp = myProp; } 

在属性名称工作之前,下划线如何放置? 我知道这个问题已经被问到,但他们是关于用户设置属性名称为_myProp,一些约定。 我不合成或更改属性名称。 这个下划线是如何工作的?

如果您使用的是最新版本的LLVM,则编译器会为您创build@synthesize,其语法如下:

 @synthesize myProp=_myProp; 

因此,即使您没有明确地合成,您也可以使用_myprop。

*注意_myProp让你直接访问属性,而self.myProp将调用访问者。 总是使用self.myProp