我试图采取两个整数的内文本字段,然后随机选择一个数字之间的最小值和最大值,然后把这个随机数到标签,更新一个计时器。
此代码确实有错误
我想我是想多了,但是到目前为止我找不到任何对我有帮助的东西。
@IBAction func randomizeButtonTapped(_ sender: UIButton) {
minValueNum = Int.random(in: 1...60)
maxValueNum = Int.random(in: 1...60)
randomValue = Int()
if maxValueNum < minValueNum {
timerLabel.text = "Error"
} else {
minValueNum > maxValueNum {
timerLabel.text = "Error"
} else {
minValueNum < maxValueNum {
timerlabel.text = minTextField + maxTextField
}
}
}
}
1条答案
按热度按时间zvokhttg1#
首先,你缺少了一些
if
关键字。下面是一个很长的修改迭代来修复你的代码:步骤1:添加缺少的
if
关键字第2步:了解
else if
,您的代码将变为:第3步:前两个
if
比较是相同的,因此删除一个:第四步:但是如果min和max是相同的呢?你忽略了这一点。
步骤5:现在
else if
检查是多余的,因为如果第一个if
不为真,我们知道min必须小于max。好了,这一长段介绍了如何修复逻辑。但现在我们需要解决真实的的问题。您没有尝试从文本字段中获取数字并使用这些值生成随机数。
下面的代码使用文本字段条目。
guard
确保用户在文本字段中输入有效数字。这也删除了
randomValue = Int()
行,它甚至没有被使用。它不是将最小值和最大值相加,而是在最小值和最大值之间生成一个随机数。仅供参考-强制展开
UITextField
的text
属性总是安全的。即使nil
,您也会得到空字符串(""
)。