有没有办法看看文本字段的值是否等于Swift中字典中的值?

时间:2015-10-01 08:24:46

标签: ios xcode swift

我在xcode中制作了一个简单的搜索引擎。它应该通过查看文本字段中的文本是否等于字典中的值来工作,如果是,则执行操作,如下所示:

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"
        }
    }

}

另外,请记住,我对Swift很新,所以简单直接的答案会有所帮助。

2 个答案:

答案 0 :(得分:1)

您可以打开文本并在一行中检查结果,如下所示:

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

答案 1 :(得分:0)

您可以使用:

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

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

如果您不需要从字典中获得的价值。

如果您将使用字典中的值,则将变量名替换为下划线:

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