Bei dem Thema sind sich ja eigentlich immer so gut wie einig.
Ich würde das mein Verständnis dafür nur einmal stärken wollen und dann so aufnehmen
vielleicht kann man das Thema dann auch für Neuankömmlinge verlinken
Synthesize:
Seit Xcode 4.5 ist eine benutzung von Synthesize nicht mehr notwendig (außer man implementiert beide Accessoren selbst)
1. Nutzt ihr noch Synthesize? Weil ihr noch mit Compilern vor LLVM 4.1 arbeitet? oder weil ihr euch einfach dran gewöhnt habt? oder nur wenn ihr die Accessoren überschreibt?
Für Public - Propertys:
Um die Accessoren nicht selber schreiben zu müssen, nutzt man Propertys, im vergleich zu früheren Version vom Compiler/Xcode in denen man noch eine Attributdeklaration in die .h seiner Klasse geschrieben hat, was jedoch gegen das Geheimhaltungsprinzip verstößt. da der Zugriff über das Attribut einen direkten Zugriff zur Folge hat und kein Zugriff über die Accessoren erfolgt. Damit andere Objekte auf "Inhalte" eines Objektes zugreifen können werden diese Propertys in die .h der Klasse geschrieben, somit sind diese so zu sagen public und ein Zugriff von außen erfolgt über die Accessoren. Möchte man dann in der .m damit arbeiten greift man per self.propertyName auf entsprechendes zu Zusätzlich kann man die Propertys für andere Sachen nutzen wie zB KVO
2. Das sollte ja soweit korrekt sein oder?
Für Private Propertys vs.Attribute:
Um in der .m einer Klasse auch arbeiten zu können sind mit großer Wahrscheinlichkeit auch mehrere Variablen nötig, die aber unter Umständen nicht Public sein müssen oder sogar auch gar nicht Public sein sollen, somit haben diese dann nichts als Property in der .h der Klasse zu suchen.
Da in der .m nicht das Geheimhaltungsprinzip verletzt werden würde könnte man hier eine Attributendeklaration verwenden. Innerhalb der .m erfolgt der Zugriff auf die Privates dann direkt und ohne Accessoren. Alternativ zur Attributdeklaration kann in der .m auch ein Interface geschrieben werden in dem auch Propertys angelegt werden und diese dann wie die Propertys aus der .h verwendet werden. Also per
self.propertyName (was ein Zugriff per Accessorenist) oder per _propertyName (wenn kein synthesize genutzt wird, bzw. entsprechender Name bei der Verwendung von Synthesize) was aber einen direkten Zugriff zur Folge hat und keine Verwendung von Accessoren.
3. Das sollte soweit auch korrekt sein?
4. Auch bei Private sollte man die Accesoren per self. verwenden? oder ist das bei private vollkommen egal weil wenn man die Accessoren eh nicht selber implementiert hat ein direkter Zugriff den gleichen Effekt wie self. ?
Ich würde das mein Verständnis dafür nur einmal stärken wollen und dann so aufnehmen

vielleicht kann man das Thema dann auch für Neuankömmlinge verlinken
Synthesize:
Seit Xcode 4.5 ist eine benutzung von Synthesize nicht mehr notwendig (außer man implementiert beide Accessoren selbst)
1. Nutzt ihr noch Synthesize? Weil ihr noch mit Compilern vor LLVM 4.1 arbeitet? oder weil ihr euch einfach dran gewöhnt habt? oder nur wenn ihr die Accessoren überschreibt?
Für Public - Propertys:
Um die Accessoren nicht selber schreiben zu müssen, nutzt man Propertys, im vergleich zu früheren Version vom Compiler/Xcode in denen man noch eine Attributdeklaration in die .h seiner Klasse geschrieben hat, was jedoch gegen das Geheimhaltungsprinzip verstößt. da der Zugriff über das Attribut einen direkten Zugriff zur Folge hat und kein Zugriff über die Accessoren erfolgt. Damit andere Objekte auf "Inhalte" eines Objektes zugreifen können werden diese Propertys in die .h der Klasse geschrieben, somit sind diese so zu sagen public und ein Zugriff von außen erfolgt über die Accessoren. Möchte man dann in der .m damit arbeiten greift man per self.propertyName auf entsprechendes zu Zusätzlich kann man die Propertys für andere Sachen nutzen wie zB KVO
2. Das sollte ja soweit korrekt sein oder?
Für Private Propertys vs.Attribute:
Um in der .m einer Klasse auch arbeiten zu können sind mit großer Wahrscheinlichkeit auch mehrere Variablen nötig, die aber unter Umständen nicht Public sein müssen oder sogar auch gar nicht Public sein sollen, somit haben diese dann nichts als Property in der .h der Klasse zu suchen.
Da in der .m nicht das Geheimhaltungsprinzip verletzt werden würde könnte man hier eine Attributendeklaration verwenden. Innerhalb der .m erfolgt der Zugriff auf die Privates dann direkt und ohne Accessoren. Alternativ zur Attributdeklaration kann in der .m auch ein Interface geschrieben werden in dem auch Propertys angelegt werden und diese dann wie die Propertys aus der .h verwendet werden. Also per
self.propertyName (was ein Zugriff per Accessorenist) oder per _propertyName (wenn kein synthesize genutzt wird, bzw. entsprechender Name bei der Verwendung von Synthesize) was aber einen direkten Zugriff zur Folge hat und keine Verwendung von Accessoren.
3. Das sollte soweit auch korrekt sein?
4. Auch bei Private sollte man die Accesoren per self. verwenden? oder ist das bei private vollkommen egal weil wenn man die Accessoren eh nicht selber implementiert hat ein direkter Zugriff den gleichen Effekt wie self. ?
Ich weiß nicht immer wovon ich rede aber ich weiß das ich Recht habe. 

