Я пытаюсь передать UIView другому классу, который работает, но я не могу сохранить указатель...
в моем файле .h я объявляю представление:
UIView *someView;
Я добавляю свойство
@property (nonatomic, retain) UIView *someView;
А в .m-файле синтезирую свойство
@synthesize someView;
Затем у меня есть способ установить представление (которое также установлено в файле .h - поверьте мне :):
-(void)makeViewPointer:(UIView *)myView{
someView = [[UIView alloc] init];
someView = myView;
for(UIView *aView in someView.subviews){
NSLog(@"tag %d", aView.tag);
}
}
Пока все работает. Когда я регистрирую someView, я получаю указатель, и все подпредставления доступны.
Я вызываю этот метод из другого класса, который работает нормально.
СЕЙЧАС - у меня есть IBAction, настроенный на то, чтобы что-то делать с этим представлением после нажатия кнопки
-(IBAction)doSomething:(id)sender{
NSLog(@"show the view %@", someView);
for(UIView *aView in someView.subviews){ // doesn't output anything
NSLog(@"tag %d", aView.tag);
}
}
В этот момент someView-var снова пуст - ПОЧЕМУ????
Я предположил, что когда я использую @property (неатомарное, сохраняемое), переменная сохраняется автоматически?
Я также попытался сохранить переменную при инициализации:
someView = [[UIView alloc] retain];
не работает
or
someView = [[UIView alloc] init];
[someView retain];
тоже не работает...
Что я делаю не так???
Спасибо за любую помощь!