Как я могу напечатать значение этой переменной после нажатия кнопки UIB? - PullRequest
1 голос
/ 05 июня 2009
// My Button code
UIButton *ticketButtonObj=[[ticketButton alloc]initWithFrame:CGRectMake(0.0f, 115.0f, 500.0f, 40.0f) ;
int col=10;

[ticketButtonObj addTarget:self action:@selector(ShowNumber:)  forControlEvents:UIControlEventTouchUpInside];

[self.window addSubview:ticketButtonObj];
// ...   
- (void) ShowNumber:(id)sender{
    // here i want to get the Value of Col
}

В приведенном выше коде, когда я нажимаю кнопку, я хочу напечатать значение переменной col в методе ShowNumber. Как я могу это сделать?

Ответы [ 3 ]

0 голосов
/ 17 января 2012

Не используйте обычную локальную переменную, и я рекомендую не использовать int. Используйте NSInteger и установите его как свойство:

@interface YourClassName : UIViewController
{
    NSInteger col;
}
@property (nonatomic) NSInteger col;

Затем @synthesize переменная col и используйте ее где угодно в своем коде.

0 голосов
/ 30 января 2013

Вы можете:

UIButton *ticketButtonObj=[[ticketButton alloc]initWithFrame:CGRectMake(0.0f, 115.0f, 500.0f, 40.0f) ;
int col=10;
ticketButtonObj.tag = col;
[ticketButtonObj addTarget:self action:@selector(ShowNumber:)  forControlEvents:UIControlEventTouchUpInside];

[self.window addSubview:ticketButtonObj];

// ... 

- (void) ShowNumber:(id)sender{
NSLog(@"%@", [(UIButton*) sender tag]);}
0 голосов
/ 05 июня 2009

Col является локальной переменной и поэтому уничтожается после возврата метода.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...