2010-09-08 13 views
7

Czy można utworzyć własność prywatną w Objective-C? Wiem, że rodzaj funkcji własności prywatnej mógłby zostać wdrożony w inny sposób, ale interesuje mnie konkretne pytanie. Dzięki.Czy można utworzyć własność prywatną w Objective-C?

+0

szukam zrobić to samo. Chcę ukryć cały kod zachowania/zwolnienia dla konkretnej zmiennej zawartej w klasie, ale ta zmienna nie ma być publiczna. – Brain2000

+0

JFYI, teraz z iOS SDK 5 ARC nie musisz już więcej dbać o zachowanie i wydanie :) – knuku

+0

To jest to, co słyszę, jestem bardzo podekscytowany widząc. Przepraszam, opuszczam temat. – Brain2000

Odpowiedz

9

Tak, możesz, ale kod będzie wyglądał trochę dziwnie. I to tylko daje pewne ostrzeżenie, jeśli zadzwonisz, trzeba sprawdzić ostrzeżenia samodzielnie

w implementacji pliku .m

@interface YourObject() 

@property (nonatomic, retain) NSMutableArray *infoArray; 

@end 
+0

Nawet to rozwiązanie nie stworzy prawdziwej własności prywatnej, ponieważ będzie dostępne dla kodu zewnętrznego. Nawet bez ostrzeżenia, jeśli zostanie wywołana chociaż setValue: forKey: – Gobra

+0

Co masz na myśli? jeśli zadzwonię jak YourObject * obj = // alloc init; następnie obj.infoArray, to da mi ostrzeżenie. Robisz KVO? – vodkhang

+0

@vodkhang: Dlaczego mówisz, że kod będzie wyglądał dziwnie? Wydaje mi się to całkiem normalne. – JeremyP

Powiązane problemy