W this document, w sekcji oznaczonej "Zmienna kwalifikacje", Apple mówi:Co to jest "problem" ze zmiennym miejscem docelowym?
Należy ozdobić prawidłowo zmiennych. Podczas korzystania kwalifikatorów w deklaracji zmiennej obiektu, prawidłowy format:
ClassName * qualifier variableName;
na przykład:
MyClass * __weak myWeakReference;
MyClass * __unsafe_unretained myUnsafeReference;
Inne warianty są technicznie niepoprawne, ale są „odpuszczone” przez kompilator. Aby zrozumieć problem, zobacz http://cdecl.org/.
Patrząc na cdecl.org nic nie wyjaśnia. Czy ktokolwiek może wyjaśnić, o czym jest "problem", o którym im chodzi? Innymi słowy, pomóżcie mi przekonać innych, że ma to znaczenie w sposób, który nie jest tylko "dlatego, że ten jeden fragment mówi".
Moja reguła to czytanie od prawej do lewej. Na przykład 'ClassName * __weak variableName' będzie odczytywane jako" _variableName_ jest słabym wskaźnikiem do _ClassName_ "Lub dla' char const * string' jaki otrzymasz "string jest wskaźnikiem do stałych znaków" – nielsbot
cf http: // eli. thegreenplace.net/2008/07/18/reading-c-type-declarations/ – nielsbot
Wiem, jak je czytać :) Od prawej do lewej działa tylko te najprostsze :) – Sulthan