-2

我写了一个setter方法 -

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

如何在属性名称工作之前添加下划线?我知道有人问过这个问题,但它们是关于用户将属性名称设置为 _myProp,一些约定。我没有合成或更改属性名称。这个下划线是如何工作的?

4

1 回答 1

1

如果您使用的是最新版本的 LLVM,那么编译器会使用以下语法为您创建 @synthesize:

@synthesize myProp=_myProp;

因此,即使您没有显式合成,您也可以使用 _myprop。

*旁注:_myProp让你直接访问属性,同时self.myProp会调用访问器。始终使用self.myProp

于 2013-03-06T18:34:36.340 回答