ios - 如何存储数据(来自文本字段的用户输入)
问题描述
我正在使用 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
}
}
用户将能够输入一个数字并将该数字增加或减少某个输入值。
解决方案
//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()
推荐阅读
- c# - AutoMapper 10.0.0:如何调用静态扩展方法“Mapper.Map<>()”的使用
- git - 无法从远程存储库 gitlab 读取
- excel - Excel(VBA):如何使我的组合框独立以允许用户确定的组合搜索数据库?
- asp.net-core - 使用 dateTime 对操作进行远程验证没有得到正确的值(Asp.Net Core 3.1)
- linux - Cowrie(Honeypot)不存储某些用户名条目的密码
- jenkins-pipeline - jfrog artifactory - 使用嵌套文件夹上传
- fpga - arachne-pnr 中的 PIP 替代方案是什么?
- elasticsearch - 如何在 kubernetes 中使用 VPA 自动缩放弹性搜索?
- kubernetes - 如何为 kubernetes Pod env 变量应用 patch/put rest api
- ios - 如何以编程方式激活 Siri?