// 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
}
在上面的代码中,当我按下按钮时,我想在ShowNumber
方法中打印col变量的值。我怎么能这样做?
答案 0 :(得分:0)
Col是一个局部变量,因此在方法返回后被销毁。
您需要为您创建一个实例变量才能访问该值。
答案 1 :(得分:0)
不要使用普通的局部变量,我建议不要使用int。使用NSInteger
并将其设置为属性:
@interface YourClassName : UIViewController
{
NSInteger col;
}
@property (nonatomic) NSInteger col;
然后@synthesize
变量col
并在代码中的任意位置使用它。
答案 2 :(得分:0)
你可以:
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]);}