我正在使用Swift创建一个简单的应用程序,告诉您输入的数字是否为素数。我知道逻辑是正确的,但当我运行应用程序并输入一个数字并按下按钮时,我的标签不会像它应该更新。有人能帮助我吗?
import UIKit
class ViewController: UIViewController {
@IBOutlet weak var number: UITextField!
@IBOutlet weak var results: UILabel!
@IBAction func buttonPressed(sender: AnyObject) {
var numberInt = number.text.toInt()
if numberInt != nil {
var unwrappedNumber = numberInt!
var isPrime = true
if unwrappedNumber == 1 {
isPrime = false
}
if unwrappedNumber != 2 && unwrappedNumber != 1 {
for var i = 2; i < unwrappedNumber; i++ {
if unwrappedNumber % i == 0 {
isPrime = false
}
}
}
if isPrime == true{
results.text = "\(unwrappedNumber)Is Prime"
}else {
results.text = "\(unwrappedNumber)Is not Prime"
}
}else {
results.text = "Enter a number"
}
}
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
答案 0 :(得分:1)
您项目中的问题是您在错误的地方执行错误的操作,例如在您的StoryBoard中右键单击TextField您发现已连接编辑已结束与@IBAction func buttonPressed(sender: AnyObject)
相关联这个动作。因此,你的行动无效。
现在您的问题的解决方案是通过单击该十字按钮从该textField中删除您的操作连接,它将如下所示:
之后用Run Test
按钮连接** buttonPressed **动作,如下所示:
HERE我更新了您的代码。
我建议你在UI
上观看一些教程,这样你就可以了解这一切是如何运作的。