2015-10-01 1 views
0

Я делаю простую поисковую систему в xcode. Он должен работать, видя, если текст в текстовое поле равно значению в словаре, и если да, то действие, например:Есть ли способ узнать, соответствует ли значение текстового поля значению в словаре в Swift?

import UIKit 

class ViewController: UIViewController { 

    @IBOutlet weak var SearchField: UITextField! 
    @IBOutlet weak var SearchButton: UIButton! 
    @IBOutlet weak var Result1: UILabel! 
    @IBOutlet weak var Result2: UILabel! 
    var possibleResults = ["Daniel":"www.example.com", "Bob":"www.asdf.com"] 


    override func viewDidLoad() { 
     super.viewDidLoad() 
     // Do any additional setup after loading the view, typically from a nib. 

    } 
    //if Go button is pressed 
    @IBAction func SearchButton(sender: AnyObject) { 
     //if Search field is equal to a value in possibleResults 
     if SearchField is equal to a value in possibleResults { 
      //makes result1 say hi 
      self.Result1.text = "Hi" 
     } else { 
      self.Result1.text = "No Results" 
     } 
    } 

} 

Кроме того, имейте в виду, я довольно новыми для Быстро, очень простые и прямые ответы были бы полезными.

ответ

1

Вы можете разворачивать текст и проверить результат в одной строке, как следующее:

if let text = SearchField.text, result = possibleResults[text] { 
    print(result) 
} 
0

Вы можете использовать:

if possibleResults[SearchField.text ?? ""] != nil { 
    // ... 
} 

или

if let _ = possibleResults[SearchField.text ?? ""] { 
    // ... 
} 

, если вам не нужно значение, которое вы получаете от словаря.

Если вы будете использовать значение из словаря затем заменить подчеркивание с именем переменной:

if let value = possibleResults[SearchField.text ?? ""] { 
    // ... 
} 
Смежные вопросы