Vorrei utilizzare la sintassi @property
per dichiarare una proprietà sintetizzata che è di sola lettura pubblica ma ha un setter che può essere chiamato in privato all'interno della classe.Proprietà Objective-C che è di sola lettura pubblicamente, ma ha un setter privato
Poiché si tratta di Objective-C, ciò significa che il metodo setFoo:
verrà sintetizzato, ma se viene chiamato al di fuori della classe stessa, verrà generato un avviso (selettore non riconosciuto). Per attivare l'avviso devo dichiarare la proprietà readonly
; c'è un modo per forzare un setter sintetizzato che è disponibile solo all'interno della classe?
Sei corretta , vedi anche http://stackoverflow.com/questions/743586/synthesizing-properties-in-categories/3251621#3251621 –
Questo è un ottimo modo per sfruttare la convenienza delle proprietà pur mantenendo l'incapsulamento necessario. :) Adoro questa capacità. – LucasTizma
Aggiornato Link documentazione: http://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/ProgrammingWithObjectiveC/CustomizingExistingClasses/CustomizingExistingClasses.html#//apple_ref/doc/uid/TP40011210-CH6-SW3 –