2010-09-08 6 views
7

Ist es möglich, private Eigenschaft in Objective-C zu erstellen? Ich weiß, dass eine Art von Funktionalität von Privateigentum auf eine andere Weise implementiert werden könnte, aber ich interessiere mich für eine bestimmte Frage. Danke.Ist es möglich, Privateigentum in Objective-C zu erstellen?

+0

Ich bin auf der Suche, das Gleiche zu tun. Ich möchte alle Retain/Release-Code für eine bestimmte Variable, die in einer Klasse enthalten ist ausblenden, aber diese Variable soll nicht öffentlich sein. – Brain2000

+0

JFYI, jetzt mit iOS SDK 5 ARC müssen Sie sich nicht mehr darum kümmern, zu behalten und zu veröffentlichen :) – knuku

+0

Das ist, was ich höre, ich bin sehr aufgeregt zu sehen. Entschuldige, ich komme aus dem Thema. – Brain2000

Antwort

9

Ja, Sie können, aber der Code wird ein bisschen seltsam aussehen. Und es wird Ihnen nur einige Warnung geben, wenn Sie anrufen, haben Sie die Warnungen zu überprüfen, selbst

in Ihrer Implementierungsdatei .m

@interface YourObject() 

@property (nonatomic, retain) NSMutableArray *infoArray; 

@end 
+0

Und selbst diese Lösung wird keine echte private Eigenschaft erstellen, da sie für externen Code zugänglich ist. Auch ohne eine Warnung wenn sie aufgerufen wird SetValue: forKey: – Gobra

+0

Was meinst du damit? wenn ich wie YourObject aufrufe * obj = // alloc init; dann obj.infoArray, es wird mir eine Warnung geben. Du machst KVO? – vodkhang

+0

@vodkhang: Warum sagst du, dass der Code seltsam aussehen wird? Es sieht ziemlich normal für mich aus. – JeremyP