Swift 将号码添加到文本字段中的现有号码

Swift 将号码添加到文本字段中的现有号码,swift,Swift,如何分配按钮以获取文本字段中的当前数字并加上1。然后,文本字段中的数字生成条形码 @IBAction func generatePressed(_ sender: UIButton) { if dataField.text?.isEmpty ?? true { let alertController = UIAlertController(title: "Get me outta here!", message: "Enter a ticket

如何分配按钮以获取文本字段中的当前数字并加上1。然后,文本字段中的数字生成条形码

 @IBAction func generatePressed(_ sender: UIButton) {

    if dataField.text?.isEmpty ?? true {
        let alertController = UIAlertController(title: "Get me outta here!", message:
            "Enter a ticket #", preferredStyle: UIAlertControllerStyle.alert)
        alertController.addAction(UIAlertAction(title: "Dismiss", style: UIAlertActionStyle.default,handler: nil))

        self.present(alertController, animated: true, completion: nil)
        print("textField is empty")
    } else {
        if let text = dataField.text {

            let data = text.data(using: .ascii, allowLossyConversion: false)

            filter = CIFilter(name: "CICode128BarcodeGenerator")
            filter.setValue(data, forKey: "inputMessage")
            let transform = CGAffineTransform(scaleX: 10, y: 10)
            let image = UIImage(ciImage: filter.outputImage!.transformed(by: transform))

            displayCodeView.image = image
        }
    }
}

您可以轻松实现这一点:

@IBAction func generatePressed(_ sender: UIButton) {
    dataTextField.text = String(Int(dataTextField.text!)! + 1)
}
这是假设您有一个默认值。如果没有,请设置默认值

您可以对十进制值使用
Double

@IBAction func generatePressed(_ sender: UIButton) {
    dataTextField.text = String(Double(dataTextField.text!)! + 1)
}

我认为您应该检查文本字段的文本是否为数字,而不是只检查
isEmpty

@IBAction func generatePressed(_ sender: UIButton) {
    guard let number = Int(dataField.text ?? "") else {
        let alertController = UIAlertController(title: "Get me outta here!", message:
        "Enter a ticket #", preferredStyle: UIAlertControllerStyle.alert)
        alertController.addAction(UIAlertAction(title: "Dismiss", style: UIAlertActionStyle.default,handler: nil))
        self.present(alertController, animated: true, completion: nil)
        print("textField is empty")
        return
    }

    let data = "\(number + 1)".data(using: .ascii, allowLossyConversion: false)

    filter = CIFilter(name: "CICode128BarcodeGenerator")
    filter.setValue(data, forKey: "inputMessage")
    let transform = CGAffineTransform(scaleX: 10, y: 10)
    let image = UIImage(ciImage: filter.outputImage!.transformed(by: transform))

    displayCodeView.image = image
}

让我知道我的答案是否适合你。请随时问我任何问题:)