resumen pelicula libro latino fahrenheit español bradbury analisis swift textbox

swift - pelicula - Cómo verificar si un campo de texto está vacío o no en forma rápida



fahrenheit 451 ray bradbury (14)

Swift 4 / xcode 9

IBAction func button(_ sender: UIButton) { if (textField1.text?.isEmpty)! || (textfield2.text?.isEmpty)!{ .............. } }

Estoy trabajando en el siguiente código para verificar los campos de texto textField1 y textField2 si hay alguna entrada en ellos o no.

La instrucción IF no está haciendo nada cuando presiono el botón.

@IBOutlet var textField1 : UITextField = UITextField() @IBOutlet var textField2 : UITextField = UITextField() @IBAction func Button(sender : AnyObject) { if textField1 == "" || textField2 == "" { //then do something } }


si lo dejé ... dónde ... {

Swift 3 :

if let _text = theTextField.text, _text.isEmpty { // _text is not empty here }

Swift 2 :

if let theText = theTextField.text where !theTextField.text!.isEmpty { // theText is not empty here }

guardia ... donde ... else {

También puede usar la palabra clave guard :

Swift 3 :

guard let theText = theTextField.text where theText.isEmpty else { // theText is empty return // or throw } // you can use theText outside the guard scope ! print("user wrote /(theText)")

Swift 2 :

guard let theText = theTextField.text where !theTextField.text!.isEmpty else { // the text is empty return } // you can use theText outside the guard scope ! print("user wrote /(theText)")

Esto es particularmente bueno para las cadenas de validación, en formas, por ejemplo. Puede escribir un guard let para cada validación y devolver o lanzar una excepción si hay un error crítico.


Como ahora en swift 3 / xcode 8 la propiedad de texto es opcional, puedes hacerlo así:

@IBAction func Button(sender: AnyObject) { if textField1.text.utf16Count == 0 || textField2.text.utf16Count == 0 { } }

o:

if ((textField.text ?? "").isEmpty) { // is empty }

Alternativamente, puede hacer una extensión como la siguiente y usarla en su lugar:

if (textField.text?.isEmpty ?? true) { // is empty }


De acuerdo, esto podría ser tarde, pero en Xcode 8 tengo una solución:

if(textbox.stringValue.isEmpty) { // some code } else { //some code }


Es demasiado tarde y está funcionando bien en Xcode 7.3.1

if _txtfield1.text!.isEmpty || _txtfield2.text!.isEmpty { //is empty }


Manera fácil de verificar

if TextField.stringValue.isEmpty { }


Mejor y más hermoso uso

@IBAction func Button(sender: AnyObject) { if textField1.text.isEmpty || textField2.text.isEmpty { } }


Otra forma de verificar en tiempo real la fuente del campo de texto:

@IBOutlet var textField1 : UITextField = UITextField() override func viewDidLoad() { .... self.textField1.addTarget(self, action: Selector("yourNameFunction:"), forControlEvents: UIControlEvents.EditingChanged) } func yourNameFunction(sender: UITextField) { if sender.text.isEmpty { // textfield is empty } else { // text field is not empty } }


Simplemente comparar el objeto del campo de texto con la cadena vacía "" no es la forma correcta de hacerlo. Debe comparar la propiedad de text del campo de text , ya que es un tipo compatible y contiene la información que está buscando.

@IBAction func Button(sender: AnyObject) { if textField1.text == "" || textField2.text == "" { // either textfield 1 or 2''s text is empty } }

Swift 2.0:

Guardia

guard let text = descriptionLabel.text where !text.isEmpty else { return } text.characters.count //do something if it''s not empty

si :

if let text = descriptionLabel.text where !text.isEmpty { //do something if it''s not empty text.characters.count }

Swift 3.0:

Guardia

guard let text = descriptionLabel.text, !text.isEmpty else { return } text.characters.count //do something if it''s not empty

si :

if let text = descriptionLabel.text, !text.isEmpty { //do something if it''s not empty text.characters.count }


Solo traté de mostrarte la solución en un código simple

@IBAction func Button(sender : AnyObject) { if textField1.text != "" { // either textfield 1 is not empty then do this task }else{ //show error here that textfield1 is empty } }


Tal vez sea un poco tarde, pero no podemos verificarlo así:

extension UITextField { var isEmpty: Bool { return text?.isEmpty ?? true } } ... if (textField.isEmpty) { // is empty }


Una pequeña joya compacta para Swift 2 / Xcode 7

@IBAction func SubmitAgeButton(sender: AnyObject) { let newAge = String(inputField.text!) if ((textField.text?.isEmpty) != false) { label.text = "Enter a number!" } else { label.text = "Oh, you''re /(newAge)" return } }


UIKeyInput la función incorporada de hasText : docs

Para Swift 2.3 tuve que usarlo como un método en lugar de una propiedad (como se hace referencia en los documentos):

if textField1.hasText() && textField2.hasText() { // both textfields have some text }


Solución Swif t 4.x

@IBOutlet var yourTextField: UITextField! override func viewDidLoad() { .... yourTextField.addTarget(self, action: #selector(actionTextFieldIsEditingChanged), for: UIControlEvents.editingChanged) } @objc func actionTextFieldIsEditingChanged(sender: UITextField) { if sender.text.isEmpty { // textfield is empty } else { // text field is not empty } }