Salut, j'ai plusieurs UIButtons (foo
et bar
) et lorsqu'il est pressé chaque invoque une méthode d'instance différente (doSomethingFoo
et doSomethingBar
). Voici le code je travaille:Comment passer une chaîne dans la méthode d'instance objective-c?
CGRect fooImageRect = CGRectMake(38.0f, 192.0f, 130.0f, 25.0f);
UIButton *buttonFoo = [[UIButton alloc] init];
buttonFoo.frame = fooImageRect;
[buttonFoo setImage:[UIImage imageNamed:@"button_foo_130x25.png"] forState:UIControlStateNormal];
[buttonFoo addTarget:self action:@selector(doSomethingFoo:) forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:buttonFoo];
[buttonFoo release];
CGRect barImageRect = CGRectMake(172.0f, 192.0f, 130.0f, 25.0f);
UIButton *buttonBar = [[UIButton alloc] init];
buttonBar.frame = barImageRect;
[buttonBar setImage:[UIImage imageNamed:@"button_bar_130x25.png"] forState:UIControlStateNormal];
[buttonBar addTarget:self action:@selector(doSomethingBar:) forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:buttonBar];
[buttonBar release];
Et les méthodes d'instance doSomethingFoo
et doSomethingBar
-(void)doSomethingFoo:(id) sender {
// code doing something with a NSString having value 'foo'
}
-(void)doSomethingBar:(id) sender {
// same code doing something with a NSString having value 'bar'
}
Ce que je suis en train de faire est de créer une seule méthode (doSomething
) que je peux invoquer lorsque l' bouton est pressé, et passez-lui la chaîne (valeur 'foo' ou 'bar') que je vais référencer dans la méthode. Je me bats avec la syntaxe.