我认为问题在于您将随机生成代码段放入您的 IBAction 中,正如您在评论中所述:
这是获取字段中提交的值的方法
这意味着guessNow:sender中的代码将在用户每次点击按钮时被触发,这意味着每次用户提交一个没有意义的猜测时你都会生成一个随机数。
//this is the method which takes the value submitted in the field and changes the label display after the user clicks the guess now button
- (IBAction)guessNow:(id)sender {
//set the random siri guess value between 1 and 100
int answer = 0;
answer = arc4random() % 100 + 1;
self.usersGuess = self.guessNumberField.text;
您应该将该代码块放入 viewDidLoad() 并将属性 _answer 添加到您的 .h
这是一个快速的解决方案,我没有在 XCode 上写这个,所以可能有语法错误
在你的 .h 中,添加
@property (strong) int _answer;
在您的 .m 中,将其从guessNow:sender 中删除
int answer = 0;
answer = arc4random() % 100 + 1;
并将其添加到您的 viewDidLoad()
answer = arc4random() % 100 + 1;
此外,您可能想添加另一个按钮来重置随机数,所以我会说将随机数生成隔离到您的 .m 中这样的私有方法
- (void)generateRandomNumber
{
self.answer = arc4random() % 100 + 1;
}
因此,您可以在 viewDidLoad() 中使用此方法生成初始随机数并将其用于重置按钮(如果有)
希望能帮助到你。