ios - Swift 字典获取值的键

标签 ios swift swift2

我有一个字典定义为:

let drinks = [String:[String]]()

drinks = ["Soft Drinks": ["Cocoa-Cola", "Mountain Dew", "Sprite"], 
"Juice" :["Orange", "Apple", "Grape"]]

如何获取给定值的 key 。

let key = (drinks as NSDictionary).allKeysForObject("Orange") as! String
print(key)
//Returns an empty Array. Should return "Juice"

最佳答案

func findKeyForValue(value: String, dictionary: [String: [String]]) ->String?
{
    for (key, array) in dictionary
    {
        if (array.contains(value))
        {
            return key
        }
    }

    return nil
}

调用上面的函数会返回一个可选的字符串?

let drinks = ["Soft Drinks": ["Cocoa-Cola", "Mountain Dew", "Sprite"],
        "Juice" :["Orange", "Apple", "Grape"]]

print(self.findKeyForValue("Orange", dictionary: drinks))

这个函数将只返回数组中第一个有传递值的键。

关于ios - Swift 字典获取值的键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32692450/

相关文章:

ios - 将数据保存到核心数据 - Swift

ios - UITextView 打字时无法控制地弹起

ios - Swift 2 无法将类型 '[AnyObject]' 的值转换为预期的参数类型 '[UIViewController]?'

ios - Swiftdispatch_async 在 iOS 通知之前不会更新 UIView

android - 我可以在没有目标应用程序的情况下运行 Appium for mobile 吗?

ios - 如何在 iPhone 中将 ImageView 的位置设置为 UITableViewCell 的中心

ios - plist 有哪些类型?

ios - 有没有办法在 Storyboard中弹出 View Controller ?

ios - 如何在绘图中添加闪烁圆圈:inRect: method of UIView?

Swift:CouchbaseLite.framework 不起作用?