2009-06-05 48 views
1
// 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方法中。我怎樣才能做到這一點?如何在按下UIButton時打印此變量的值?

回答

0

Col是一個局部變量,在方法返回後會被銷燬。

您需要爲您創建一個實例變量才能夠訪問該值。

0

不要使用正常的局部變量,我建議不要使用int。使用一個NSInteger並將其設置爲一個屬性:

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

然後@synthesize變量col以及任何你在代碼中喜歡使用它。

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]);}