我试图让您轻按一个按钮,然后在标签上加1。如果该标签低于3,则打印低于3的标签。如果高于3,则表示高于。直到10为止,即使标签仍显示10或更高,它仍会打印出低于三的数字。
var counter = 0
@IBOutlet weak var count: UILabel!
@IBAction func testigbutton(_ sender: UIButton) {
counter = counter + 1
count.text = String(format: "%i", counter)
if count.text! < "3" {
print("Less than 3")
} else if count.text! > "10" {
print("More than 3")
}
}
String
的比较是逐字符进行的。
["9"
大于"3"
,因为如果排序,字符9
在字符3
之上。
["10"
小于"3"
,因为按字符进行比较时,"1"
小于"3"
并在此结束。
如果需要进行数值比较(使用实际的[[number而不是字符串),请使用:
if Int(count.text!) < 3 { ... } else { ... }
请注意,我是在比较实际的Int
,而不是String
。
if count.text! < "3" {
至:
if counter < 3 {
这样,您将按数字顺序比较数字,而不是按字典顺序比较字符串。
Int(count.text!)