首页 > 解决方案 > 如何存储数据(来自文本字段的用户输入)

问题描述

我正在使用 Swift,我想知道如何将用户输入存储为变量(它是双精度的)。

我仍处于学习状态,所以我一直在观看有关这种情况的 youtube 教程,但没有任何帮助。

我的代码:

import UIKit

class ViewController: UIViewController {


    @IBOutlet weak var userInput: UITextField!
    override func viewDidLoad() {
        userInput.delegate = self
    }

    @IBAction func Increment(_ sender: UIButton) {
        var inc = 0
        userInput = userInput + inc
    }

    @IBAction func Decrement(_ sender: UIButton) {

    }
    override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
        userInput.resignFirstResponder()

    }

}

extension ViewController: UITextFieldDelegate{
    func textFieldShouldReturn(_ textField: UITextField) -> Bool {
        textField.resignFirstResponder()

        return true
    }

}

用户将能够输入一个数字并将该数字增加或减少某个输入值。

标签: iosswift

解决方案


//fetch any number from textfield 

func getValueFromTextfield() -> Double?{

  guard let text = userInput.text else {
      print("Missing user input")
      return nil 
  }

  guard let doubleValue = Double(text) else {
      print("parse failure")
      return nil 
  }
return doubleValue
}

// 现在对于递增和递减,我们有类似的方法,我假设某个输入值1用于递增和递减,如果需要,请替换它

func increment(){

// get value
   if let value = getValueFromTextfield(){
    userInput.text = “\(value + 1)” // increment by 1 
   }
}

func decrement(){

 // get value and check if it’s greater than zero
  if let value = getValueFromTextfield(), value > 0{
    userInput.text = “\(value - 1)” // decrement by 1
  }
}

@IBAction func Increment(_ sender: UIButton) {
    increment()
}

@IBAction func Decrement(_ sender: UIButton) {
    decrement()
}

这些方法将帮助您实现递增或递减操作,而无需将值存储在任何变量中。

如果您仍想将值保存在变量中,只需存储从方法返回的值 let valueToStore = getValueFromTextfield()


推荐阅读