2013-04-29 3 views
-1

у меня есть вопрос, хочу проконсультироваться you.The следующее:Как получить доступ к одной частной переменной экземпляра в ИОС

класса А из рамок Иос, один экземпляр переменной B из класса A не является публичной, может я через методы getter, определенные в категории C для доступа к переменной экземпляра B? категория C является обычным для класса A.

Пример: переменная экземпляра _viewDelegate класса UIView.can Я создаю категорию C UIView для переменная экземпляра доступа _viewDelegate? если метод определения - (UIViewController *) viewDelegate в категории C;

ThankYou, первый!

+0

Хм, что? Что ты спрашиваешь? – michaelb958

+0

Извините, мой английский не очень хорош! Но вы должны уметь его читать! – xiaojiaxi

+0

Возможный дубликат [Доступ к закрытым переменным из внешнего класса - iOS] (http://stackoverflow.com/questions/11209843/accessing-private -variables-из-ан-внешнего-класса-ИОС) – Amar

ответ

0

Если возникает вопрос «могу ли я получить доступ к приватным переменным через категорию», тогда ответ будет - зависит.

Прежде всего, переменная должна быть определена в файле .h.

Если это так, то если оно указано как только для чтения, вы можете его прочитать. Например: @property (неатомическое, только для чтения) somePropertyOfClassA

В противном случае, вы можете читать/писать в собственность непосредственно без геттера/сеттера, например @property (неатомический) NSInteger теге

UIView _viewDelegate является помеченный как @package, что означает, что элемент доступен только из рамки, в которой он определен, что является ios-каркасом.

Смежные вопросы