Использование или доступ к переменной класса из методов UIActionSheetDelegate

в одном из представлений моего приложения, которое является подклассом класса UIView, у меня есть кнопка на панели инструментов (self.navigationController.toolBar). При нажатии появляется UIActionSheet с командами «удалить» и «отменить».

myView.h

NSString *classVariable;
....
@property (nonatomic, retain) NSString *classVariable;

myView.m

@synthesize classVariable,...;
-(void) viewDidLoad {
     ...
     classVariable = [[NSString alloc] initWithString:@"blah"];
}
-(void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex {
     if (buttonIndex == 0) {
     ...
     NSLog(classVariable);//BUG HERE!! just cannot printout and app gets sudden death.
     }
}
-(void)dealloc{
     ...
     [classVariable release];
}

Я не знаю, почему я не могу получить доступ к переменной из метода UIActionSheetDelegate. Я уже объявил переменную и даю значение.

Спасибо


person bicbac    schedule 18.12.2010    source источник


Ответы (1)


Ты пытался:

-(void) viewDidLoad {
     ...
     classVariable = [[NSString alloc] initWithString:@"blah"];
}
person Di Wu    schedule 18.12.2010
comment
хорошая точка зрения. нет, я не. но переменная String доступна из других обычных методов. Другими словами, я могу использовать NSLog из других методов, кроме методов делегата UIActionSheet. это моя проблема. - person bicbac; 18.12.2010
comment
тогда я в замешательстве. в моем собственном приложении я делаю много вещей таким методом, и это нормально. - person Di Wu; 18.12.2010
comment
Справочные агентства IB не справились. позвольте мне удалить эту тему позже. - person bicbac; 18.12.2010
comment
Оказалось, это не из-за лабиринта справочной розетки ИБ. - person bicbac; 18.12.2010
comment
Несмотря на то, что я не мог понять, что мне не хватает, ваш совет - одна большая ошибка, которую я всегда делаю. так +1. огромное спасибо - person bicbac; 18.12.2010