2009-06-05 4 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 
} 

In dem obigen Code, wenn ich den Knopf drücke, möchte ich den Wert der col-Variable in der ShowNumber Methode drucken. Wie kann ich das machen?Wie kann ich den Wert dieser Variablen beim Drücken der UIButton drucken?

Antwort

0

Col ist eine lokale Variable und wird daher nach der Rückkehr der Methode gelöscht.

Sie müssen eine Instanzvariable erstellen, damit Sie auf den Wert zugreifen können.

0

Verwenden Sie keine normale lokale Variable und ich empfehle, kein int zu verwenden. Verwenden Sie ein NSInteger und legen Sie es als Eigenschaft:

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

Dann @synthesize die Variable col und verwenden Sie es überall Sie in Ihrem Code mögen.

0

Sie können:

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