" uppercaseString"和" lowercaseString"在Swift中的UITextField崩溃

时间:2015-02-26 08:24:01

标签: swift

我有一个小应用程序,其中包含1个ViewController:2个Outlets(一个UITextField和一个UILabel)和1个按下按钮时触发的Action。代码如下所示:

class ViewController: UIViewController {

@IBOutlet weak var textField: UITextField!
@IBOutlet weak var label: UILabel!

@IBAction func changeText() {
    label.text = textField.text.lowercaseString
    }
}

我的问题是为什么每次运行应用程序并按下按钮时,应用程序都会与EXC_BAD_ACCESS崩溃?

编辑1:似乎Xcode是问题所在。我只在Xcode 6.3 beta上崩溃,在6.1.1上运行正常。这是项目LINK

编辑2:问题已解决,Xcode版本是问题,谢谢大家的答案!

1 个答案:

答案 0 :(得分:1)

这是beta 1的一个已知问题,它已被修复。您正在使用按钮更新标签字段,但无需使用按钮。您可以选择将IBAction连接到文本字段的已发送事件编辑已更改,以便在您键入预览时实时更改。

  

Swift编译器•@ objc枚举不再导致编译器崩溃   从其他文件使用时。 (19775284)•修正了免费崩溃后的用途   在lowercaseString和uppercaseString中。 (19801253)

import UIKit

class ViewController: UIViewController {
    @IBOutlet weak var label: UILabel!

    @IBOutlet weak var textField: UITextField!
    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.
    }

    @IBAction func changeText(sender: AnyObject) {
        label.text = textField.text.lowercaseString
    }

}

enter image description here

enter image description here

sample