In this document, sotto la sezione con l'etichetta "Variable qualificatori", Apple dice:Che cos'è "il problema" con il posizionamento di qualificatore variabile?
Si dovrebbe decorare correttamente le variabili. Quando si utilizza qualificatori in una dichiarazione variabile oggetto, il formato corretto è:
ClassName * qualifier variableName;
ad esempio:
MyClass * __weak myWeakReference;
MyClass * __unsafe_unretained myUnsafeReference;
Altre varianti sono tecnicamente corretto ma vengono “rimessi” by il compilatore. Per comprendere il problema, vedere http://cdecl.org/.
Guardare cdecl.org non chiarisce nulla. Qualcuno può spiegare che "il problema" a cui si riferiscono è? In altre parole, aiutami a convincere gli altri che questo in realtà è importante in un modo che non è solo "perché questo un readme dice così".
La mia regola generale è quella di leggere questi da destra a sinistra. Quindi, ad esempio 'ClassName * __weak variableName' potrebbe essere visualizzato come" _variableName_ è un puntatore debole a un _ClassName_ "O per' char const * string' ottieni "stringa è un puntatore a const char" – nielsbot
cf http: // eli. thegreenplace.net/2008/07/18/reading-c-type-declarations/ – nielsbot
So come leggerli :) Da destra a sinistra funziona solo per i più semplici :) – Sulthan