2016-04-08 114 views
1

我有一個ATM列表,每個ATM都有一個名稱。如何檢查textField是否等於數組中的字符串

現在我想檢查我的textField.text是否等於每個ATM的名稱。當然,我可以這樣做for循環像這樣:

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

但這裏的問題是我想要另一種方式來存檔此。

任何幫助將不勝感激,謝謝。

更新1:現在

@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) 
     } 
    } 

工作,感謝您的回答。

+0

沒有另一種方式來做到這一點的第一個大氣壓。如果你有一個names數組,你可以這樣做:'names.contains(nameTextField.text)' –

+0

如果我創建一個names數組,我仍然需要一個for循環來爲每個元素指定atm的名字。 – Khuong

回答

4

你可以這樣做:

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 
} 

它會檢查符合

+0

當我輸入相同的名稱時,它不會顯示警報,您是否可以檢查我的更新? – Khuong

+0

當然不是。它只是檢查文本內容是否等於任何atm的名字。這是你要求的,不是嗎? –

+0

那麼如何以你的方式顯示警戒? – Khuong

相關問題