本文介绍了下划线在属性名称之前,在setter中的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我写了一个setter方法 -
I wrote a setter method -
- (void)setMyProp:(MyProp *)myProp{
_myProp = myProp;
}
属性名称如何工作?
我知道这个问题已经提出,但他们是关于用户设置属性名称为_myProp,一些约定。我不是合成或更改属性名称。
How is underscore put before property name is working?I know this question has been asked, but they are about user setting property name to _myProp, some convention. I am not synthesizing or changing the property name. How this underscore is working?
推荐答案
如果您使用的是最新版本的LLVM,那么编译器将为您创建@synthesize语法:
If you are using latest version of LLVM, then the compiler creates @synthesize for you with the syntax:
@synthesize myProp=_myProp;
因此,即使您未明确合成,也可以使用_myprop。
Therefore you are able to use _myprop even though you have not synthesized explicitly.
这篇关于下划线在属性名称之前,在setter中的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!