Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Swift 获取UITextField中的数据写入_Swift_Validation_Uikit_Uitextfield_Nsnotificationcenter - Fatal编程技术网

Swift 获取UITextField中的数据写入

Swift 获取UITextField中的数据写入,swift,validation,uikit,uitextfield,nsnotificationcenter,Swift,Validation,Uikit,Uitextfield,Nsnotificationcenter,我正在创建一个用于测量的表单,因此我有几个文本文件。我需要能够检索用户在文本字段中写入的内容。我试过几种方法,但都找不到办法。你能给我一个线索吗 这是我的密码: import UIKit class ViewController: UIViewController, UITextFieldDelegate { var myTextField = UITextField() @IBOutlet weak var wristFlex: UITextField! @IB

我正在创建一个用于测量的表单,因此我有几个文本文件。我需要能够检索用户在文本字段中写入的内容。我试过几种方法,但都找不到办法。你能给我一个线索吗

这是我的密码:

import UIKit

class ViewController: UIViewController, UITextFieldDelegate {

    var myTextField = UITextField()


    @IBOutlet weak var wristFlex: UITextField!
    @IBOutlet weak var wristExtension: UITextField!
    @IBOutlet weak var firstPhalanx: UITextField!
    @IBOutlet weak var secondPhalanx: UITextField!
    @IBOutlet weak var thirdPhalanx: UITextField!
    @IBOutlet weak var forearmLenght: UITextField!
    @IBOutlet weak var handLenght: UITextField!
    @IBOutlet weak var fingerLenght: UITextField!
    @IBOutlet weak var forearmCirecumference: UITextField!
    @IBOutlet weak var wristCirecumference: UITextField!
    @IBOutlet weak var fingerCirecumference: UITextField!
    @IBOutlet weak var handCirecumference: UITextField!
    @IBOutlet weak var validatedPressed: UIButton!




    override func viewDidLoad() {
        super.viewDidLoad()
        wristFlex.delegate = self
        wristExtension.delegate = self
        firstPhalanx.delegate = self
        secondPhalanx.delegate = self
        thirdPhalanx.delegate = self
        forearmLenght.delegate = self
        handLenght.delegate = self
        fingerLenght.delegate = self
        forearmCirecumference.delegate = self
        wristCirecumference.delegate = self
        fingerCirecumference.delegate = self
        handCirecumference.delegate = self

        NotificationCenter.default.addObserver(self, selector: #selector(ViewController.keyboardWillShow), name: UIResponder.keyboardWillShowNotification, object: nil)

        NotificationCenter.default.addObserver(self, selector: #selector(ViewController.keyboardWillHide), name: UIResponder.keyboardWillHideNotification, object: nil)

        NotificationCenter.default.addObserver(self, selector: #selector(textFieldTextDidChange), name: UITextField.textDidChangeNotification, object: nil)

    }

// Notifications:

      @objc  func textFieldTextDidChange(ncParam: NSNotification) {

        print("UItextFieldTextDidChange = \(ncParam)")

    }

    @objc func keyboardWillHide(notification: NSNotification) {
      // move back the root view origin to zero
      self.view.frame.origin.y = 0
    }

    @objc func keyboardWillShow(notification: NSNotification) {

        guard let keyboardSize = (notification.userInfo?[UIResponder.keyboardFrameEndUserInfoKey] as? NSValue)?.cgRectValue else {
           // if keyboard size is not available for some reason, dont do anything
           return
        }

      // move the root view up by the distance of keyboard height
      self.view.frame.origin.y = 0 - keyboardSize.height
    }

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


    @IBAction func validatedPressed(_ sender: AnyObject) {
        if wristFlex.text == "" || wristExtension.text == "" || firstPhalanx.text == "" || secondPhalanx.text == "" || thirdPhalanx.text == "" || forearmLenght.text == "" || handLenght.text == "" || fingerLenght.text == "" || forearmCirecumference.text == "" || wristCirecumference.text == "" || fingerCirecumference.text == "" || handCirecumference.text == "" {
            let alertController = UIAlertController(title: "Erreur", message: " Tous les champs ne sont pas remplis", preferredStyle: .alert)
            let alertAction = UIAlertAction(title: "Ok", style: .default, handler: nil)

            alertController.addAction(alertAction)
            present(alertController, animated: true, completion: nil)

            return
        }
        dismiss(animated: true, completion: nil)
    }
    internal func textFieldShouldReturn(_ textField: UITextField) -> Bool {
        textField.resignFirstResponder()
        print("")
        return true
    }
}
导入UIKit
类ViewController:UIViewController、UIExtFieldDelegate{
var myTextField=UITextField()
@IbExtfield:UITextField!
@IBOutlet弱var wristExtension:UITextField!
@第一方阵:UITextField!
@第二方阵:UITextField!
@IBOutlet弱var thirdPhalanx:UITextField!
@IBOutlet弱var前臂长度:UITextField!
@IBOutlet弱var处理长度:UITextField!
@IBOutlet弱var FingerLength:UITextField!
@IBOUTLE弱var CIRECUREMFERENCE:UITextField!
@IBOutlet弱var腕带安全提示:UITextField!
@IBOutlet弱var FingerCircure参考:UITextField!
@IBOUTLE弱var手电路参考:UITextField!
@IBOutlet弱var验证按下:UIButton!
重写func viewDidLoad(){
super.viewDidLoad()
writflex.delegate=self
wristExtension.delegate=self
firstPhalanx.delegate=self
secondPhalanx.delegate=self
thirdPhalanx.delegate=self
前臂长度.delegate=self
handLenght.delegate=self
fingerLenght.delegate=self
前臂cirecumference.delegate=self
wristCirecumference.delegate=self
FingerCiRecumReference.delegate=自
handcireumference.delegate=self
NotificationCenter.default.addObserver(self,选择器:#选择器(ViewController.keyboardWillShow),名称:UIResponder.keyboardWillShowNotification,对象:nil)
NotificationCenter.default.addObserver(self,选择器:#选择器(ViewController.keyboardWillHide),名称:UIResponder.keyboardWillHideNotification,对象:nil)
NotificationCenter.default.addObserver(self,选择器:#选择器(textFieldTextDidChange),名称:UITextField.textDidChangeNotification,对象:nil)
}
//通知:
@objc func textFieldTextDidChange(ncParam:NSNotification){
打印(“UItextFieldTextDidChange=\(ncParam)”)
}
@objc func键盘将隐藏(通知:NSNotification){
//将根视图原点移回零
self.view.frame.origin.y=0
}
@objc func键盘将显示(通知:NSNotification){
guard let keyboardSize=(notification.userInfo?[UIResponder.keyboardFrameEndUserInfoKey]作为?NSValue)?.cgRectValue else{
//如果由于某种原因无法使用键盘大小,请不要执行任何操作
返回
}
//将根视图向上移动键盘高度的距离
self.view.frame.origin.y=0-keyboardSize.height
}
覆盖func TouchesBegind(Touchs:Set,带有事件:UIEvent?){
view.endEditing(真)
}
@iAction func validatedPressed(\uSender:AnyObject){
如果wristFlex.text==“wristExtension.text==“firstPhalanx.text==“firstPhalanx.text=”“secondPhalanx.text==“thirdPhalanx.text=”“thirdPhalanx.text=”“”“| | wristExtension.text==“HandLength.text=”“| FingerLength.text==“FingerLength.text=”“|前臂Cirecumference.text=”“前臂Circurence.text=”“Circurence=”“CirmFercurence.text=”“”| | handcireumference.text==“”{
让alertController=UIAlertController(标题:“Erreur”,消息:“Tous les champs ne sont pas remplis”,首选样式:。警报)
让alertAction=UIAlertAction(标题:“确定”,样式:。默认,处理程序:nil)
alertController.addAction(alertAction)
存在(alertController,动画:真,完成:无)
返回
}
驳回(动画:真,完成:无)
}
内部函数textField应返回(textField:UITextField)->Bool{
textField.resignFirstResponder()辞职
打印(“”)
返回真值
}
}

要检索用户在UITextFields中写入的内容,可以使用类似textField.text的内容访问用户的文本属性

更具体地说,在您的情况下,像
wristFlex.text
thirdPhalanx.text
这样的东西可以对所有UITextField工作,等等


希望这对别人有帮助

要检索用户在UITextFields中写入的内容,可以使用类似textField.text的内容访问用户的文本属性

更具体地说,在您的情况下,像
wristFlex.text
thirdPhalanx.text
这样的东西可以对所有UITextField工作,等等

希望这对别人有帮助

您可以使用UITextfieldDelegate中的方法。 当用户完成其条目时,将调用此方法。然后您可以使用
textField.text访问变量

下面的示例是一个只有一个文本字段的情况的实现。在您的情况下,您需要区分不同的文本字段

func textFieldDidEndEditing(_ textField: UITextField,
                               reason: UITextField.DidEndEditingReason){
       if let value = textField.text  {
            print(value)
       }
   }
希望这有帮助

您可以使用UITextfieldDelegate中的方法。 当用户完成其条目时,将调用此方法。然后您可以使用
textField.text访问变量

下面的示例是一个只有一个文本字段的情况的实现。在您的情况下,您需要区分不同的文本字段

func textFieldDidEndEditing(_ textField: UITextField,
                               reason: UITextField.DidEndEditingReason){
       if let value = textField.text  {
            print(value)
       }
   }

希望这有帮助

这回答了你的问题吗?这回答了你的问题吗?