对于我的程序,我想要一组按钮,一个用于字母表中的每个字母。当用户按下按钮时,我希望将变量设置为按下的按钮的值,并且搜索要在许多字符串中执行的该值。如何只访问 - (IBActon)中按下的按钮的值,而不为每个按钮设置26个独立的插座?
答案 0 :(得分:1)
您可以设置IBAction,以便将触发事件的按钮传递给方法。您可以使用该参数来确定按下了哪个字母,并且只对所有按钮执行一个操作:
- (IBAction)letterTapped:(id)sender {
NSString *letter = [sender titleForState:UIControlStateNormal];
// do something with the letter
}
答案 1 :(得分:0)
Stew的答案很简洁,虽然我想用他的模板添加更多信息。
- (IBAction)letterTapped:(id)sender {
NSString *character = [sender titleForState:UIControlStateNormal];
[self setLetter:character];
}
-(void)setLetter(NSString *)_aLetter{
//your global variable that stores your letter
globalLetterVariable = _aLetter;
}
或者你可以在方法本身内一次性完成。
- (IBAction)letterTapped:(id)sender {
NSString *character = [sender titleForState:UIControlStateNormal];
//your global variable that stores your letter
globalLetterVariable = character;
}