Why rename synthesized properties in iOS with leading underscores? [duplicate]
This is an artifact of a previous version of the Objective-C runtime. Originally, @synthesize was used to create accessors methods, but the runtime still required that instance variables had to be instantiated explicitly: @interface Foo : Bar { Baz *_qux; } @property (retain) Baz *qux; @end @implementation Foo @synthesize qux = _qux; – (void)dealloc { … Read more