This question already has an answer here:
I wrote a setter method -
- (void)setMyProp:(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?
If you are using latest version of LLVM, then the compiler creates @synthesize for you with the syntax:
Therefore you are able to use _myprop even though you have not synthesized explicitly.
*SideNote:_myProp
makes you access the property directly, whileself.myProp
will call accessor. Always useself.myProp