L'unica volta che vedrete una differenza di prestazioni è se non contrassegnate una proprietà come "non anatomica". Quindi @synthesize aggiungerà automaticamente il codice di sincronizzazione attorno all'impostazione della tua proprietà, mantenendola thread-safe - ma più lenta per impostare e accedere.
Così per lo più probabilmente vuole definire una proprietà come:
@property (nonatomic, mantenere) NSString * myProp;
Personalmente trovo la notazione dot generalmente utile dal punto di vista non dover pensare di scrivere metodi setter corretti, che non è del tutto banale anche per setter nonatomic perché è necessario anche ricordarsi di rilasciare il vecchio valore corretto. L'uso del codice template aiuta ma puoi sempre commettere errori ed è generalmente un codice ripetitivo che ingombra le classi.
Un modello di essere a conoscenza di: se si definisce il setter da soli (invece di lasciare @synthesize crearlo) e iniziano ad avere altri effetti collaterali di impostazione di un valore probabilmente si dovrebbe fare il setter un normale metodo invece di chiamare utilizzando il notazione di proprietà.
semanticamente utilizzando le proprietà sembra essere l'accesso diretto al valore effettivo al chiamante e tutto ciò che varia da che dovrebbe quindi essere fatta tramite l'invio di un messaggio, non accesso a una proprietà (anche se sono in realtà entrambi i messaggi di invio).
fonte
2008-09-15 05:44:32