iOS: Verwendung von self und Unterstrich (_) mit Variable [duplicate]

Mögliche Duplikate:
Wie funktioniert ein Unterstrich vor einer Variablen in einer Kakao-Ziel-C-Klasse?

Ich war sehr verwirrt mit der Verwendung von self oder Underscore mit Variablennamen, nachdem ich es wie folgt synthetisiert habe:

In .h file:
@property(nonatomic, strong) NSMutableArray *users;

In .m file:
@synthesize users = _users;

Ausgehend von meinem Verständnis, wenn ich self.users verwende, wird OS sicherstellen, dass zuvor zugewiesener Speicher in festgelegten Methoden freigegeben wird, sodass wir nicht explizit darauf achten müssen.

_users ist eine Instanzvariable für Benutzer und sollte normalerweise beim Zugriff auf die Benutzervariable verwendet werden. Wenn ich _users verwende, um den Wert zu ändern, wird kein KVO-Delegat ausgelöst, der keine Klasse benachrichtigt, die die Änderung des Benutzerwerts beobachtet.

Darüber hinaus ermöglicht self.users die Unterscheidung von Dummy-Variablen im Methodennamen wie folgt:

- (void)assignUsers:(NSMutableArray*)users {
      self.users = users;
}

Könnte mir bitte jemand sagen, ob etwas falsch verstanden wurde oder fehlt, während ich _users oder self.users verwende. Vielen Dank.

Antworten auf die Frage(3)

Ihre Antwort auf die Frage