Ich habe versucht, eine private Eigenschaft in meiner *.m
-Datei zu erstellen:
Der Compiler behauptet, dass keine Stuff-Eigenschaft deklariert ist. Aber da ist ein Zeug. Nur in einer anonymen Kategorie. Lass mich raten: Unmöglich. Andere Lösungen?
Sie möchten eine "Klassenerweiterung" anstelle einer Kategorie verwenden:
%Vor%Klassenerweiterungen wurden in Objective-C 2.0 teilweise eigens für diesen Zweck erstellt. Der Vorteil von Klassenerweiterungen liegt darin, dass der Compiler sie als Teil der ursprünglichen Klassendefinition behandelt und somit vor unvollständigen Implementierungen warnen kann.
Neben rein privaten Eigenschaften können Sie auch schreibgeschützte öffentliche Eigenschaften erstellen, die intern schreibgeschützt sind. Eine Eigenschaft kann in einer Klassenerweiterung nur neu deklariert werden, um den Zugriff zu ändern (readonly vs. readwrite), muss aber ansonsten in der Deklaration identisch sein. So können Sie tun:
%Vor%Tags und Links objective-c properties