当用户在文本字段中快速输入键时如何显示键的值

Posted

技术标签:

【中文标题】当用户在文本字段中快速输入键时如何显示键的值【英文标题】:How to display the value of a key when user enters the key in textField in swift 【发布时间】:2015-07-21 12:38:44 【问题描述】:

我正在尝试使用带有多个 key-value 对的 dictionary 创建一个类似字典的应用程序。 这个想法是当用户在textField 中键入和现有key 并单击button 时,key 上的value 会显示在label 上。我只能在单击button 时显示所有条目(包括键和值)(无论textField 的内容如何),但这不是我想要实现的目标。

这是我的代码:

//
//  ViewController.swift
//  Dictionary
//
//  Created by Ralph on 7/20/15.
//  Copyright (c) 2015 Ralph. All rights reserved.
//

import UIKit

class ViewController: UIViewController 

    let words = [
        “doe” : “a deer, a female deer”,
        “ray" : “a drop of golden sun”,
        “me” : “a name I call myself”
    ]

    @IBOutlet weak var textField: UITextField!        

    @IBAction func searchButton(sender: AnyObject) 
        displayMeaning.text = words.description
    

    @IBOutlet weak var displayMeaning: UILabel!

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

    override func didReceiveMemoryWarning() 
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    

【问题讨论】:

我没有看到您正在检索文本字段中输入的键的值。 【参考方案1】:

您需要像这样访问文本字段中的文本

displayMeaning.text = words[textField.text]

【讨论】:

非常感谢@Neil Horton,这行简短的代码解决了我的问题,并且完全符合我的要求。非常感谢您的帮助。【参考方案2】:

在你的@IBAction 你应该试试这个:

@IBAction func searchButton(sender: UIButton) 
    displayMeaning.text = words.objectForKey(textField.text)

【讨论】:

感谢@pbush25 的协助。但是,当我实施您的建议时,我收到一个错误:“[String : String]”没有名为“objectForKey”的成员。所以这并没有解决我的问题。 对不起@Mandroid 它可能应该是words.valueForKey(textField.text) 没关系,你只是想帮忙 ;-) 仍然得到一个错误。不过不用担心,问题已经解决了。感谢您的宝贵时间和帮助。

以上是关于当用户在文本字段中快速输入键时如何显示键的值的主要内容,如果未能解决你的问题,请参考以下文章

按下返回键时如何通过多个文本字段输入进行选项卡?

在 SwiftUI 中捕获文本字段值而不按返回键 [重复]

点击文本字段右键时如何显示xib视图

在文本字段中输入值后如何显示*

使用 Tab 键时如何更改文本字段选择顺序

斯威夫特用户界面 |文本字段未读取输入的值