将参数从一个IBAction传递到另一个IBAction

时间:2012-07-16 00:19:22

标签: objective-c cocoa-touch ibaction

下面的代码显示数组中的随机单词(generateWord),然后根据按下的按钮接受一个字母作为输入。我想在letterGuessed中能够在randomWord变量的内容中搜索输入字母。我知道如何搜索,但我无法访问该变量。实现这一目标的最佳方法是什么?

- (IBAction)generateWord:(id)sender {
    int arraycount=[wordList count];
    int indexchoice=(arc4random() % arraycount);
    NSString *randomWord = [wordList objectAtIndex:indexchoice];
    self.wordResult.text=[NSString stringWithFormat:@"word: %@ ",randomWord];
}

- (IBAction)letterGuessed:(id)sender {
    NSString *letter=[sender titleForState:UIControlStateNormal];
    [sender setEnabled:NO];

}

2 个答案:

答案 0 :(得分:1)

你使“NSString * randomWord”成为一个ivar,所以在“generateWord:”中设置randonWord(即“randomWord = [wordList objectAtIndex:indexchoice];”),然后当调用“letterGuessed:”时,randomWord现在可用。

答案 1 :(得分:1)

2种方式..

1)拥有randomVariable的全局副本,并在每次单击generateWord时更新它。

2)或者您可以通过简单地从wordResult textview / textfield获取字符串内容来绕过上述方法

 NSString *randomString = self.wordResult.text