2016-04-08 24 views
1

Bir ATM listesi var, her bir ATM'nin bir adı var.textField'in bir dizideki dizgeye eşit olup olmadığını nasıl kontrol edebilirim

Artık textField.text öğemin her bir ATM'nin adına eşit olup olmadığını kontrol etmek istiyorum.

for atm in atms { 
    if nameTextField.text == atm.name { 
     // Do some Stuff 
    } 
} 

Ama burada soru başka bir yolu bu arşivlemek istediğiniz geçerli: Şüphesiz, ben şöyle döngü için ile yapabilirsiniz.

Yardımlarınız için teşekkür ederiz, teşekkürler.

GÜNCELLEME 1: şimdi

@IBAction func addButtonTapped(sender: UIButton) { 
     if let _ = atms.filter({$0.name == nameTextField.text}).first { 
      let alert = UIAlertController(title: "This name has been added!", message: nil, preferredStyle: .Alert) 
      alert.addAction(UIAlertAction(title: "OK", style: .Default, handler: nil)) 
      presentViewController(alert, animated: true, completion: nil) 
     } else if nameTextField.text != "" && addressTextField.text != "" && latitudeTextField.text != "" && longitudeTextField.text != "" { 
      saveData() 
      dismissViewControllerAnimated(true, completion: nil) 
     } else { 
      let alert = UIAlertController(title: "Missing Info", message: nil, preferredStyle: .Alert) 
      alert.addAction(UIAlertAction(title: "OK", style: .Default, handler: nil)) 
      presentViewController(alert, animated: true, completion: nil) 
     } 
    } 

İş, yanıt için teşekkürler.

+0

eşleşen ilk atm kontrol edecektir. Bir ad diziniz varsa, şunları yapabilirsiniz: 'names.contains (nameTextField.text)' –

+0

Bir ad dizisi oluşturursam, yine de her öğeye atm adını atamak için for döngüsüne ihtiyacım var. – Khuong

cevap

4

Bunu yapabilirsin:

if let atm = atms.filter({$0.name == nameTextField.text}).first { 
    //Show alert 
    let alert = UIAlertController(title: "This name has been added!", message: nil, preferredStyle: .Alert) 
    let action = UIAlertAction(title: "Ok", style: .Default, handler: nil) 
    alert.addAction(action) 
    presentViewController(alert, animated: true, completion: nil) 
} else { 
    //do another stuff 
} 

Bunu yapmanın başka bir yolu yoktur

+0

Aynı adı yazdığımda bir uyarı sunmuyor, güncellememi kontrol edebilir misiniz? – Khuong

+0

Tabii ki değil. Sadece, textfield içeriğinin herhangi bir atmın adına eşit olup olmadığını kontrol eder. İstediğin buydu, değil mi? –

+0

Peki, yolunuza nasıl uyarı gösterilir? – Khuong

İlgili konular