2015-11-12 32 views
0

我有一个包含字符串键和字符串一个字典我如何获得钥匙的价值? - 为什么方法不起作用?

要获得特定键的值,我写了一个方法。

func getValueForKey(key: String) -> String? { 
    for (value, keys) in myDictionary { 
     if (keys.containsString(key)){ 
     return value 
     } 
    } 
    return nil 
} 

我使用相同的逻辑来获得某个值的关键和它的完美工作。

我知道在stackoverflow上还有其他一些方法来获得密钥,但我想知道为什么我的方法不工作?

它们都是String和Dictionary.values类型以及Dictionary.keys都是包含值或键的容器。

回答

3

您指的是错误的键和值。

func getValueForKey(key: String) -> String? { 
    for (keys, value) in myDictionary { 
     if (keys.containsString(key)){ 
     return value 
     } 
    } 
    return nil 
} 

请注意,您可以访问myDictionary [关键]

+1

感谢您的回复。它完美的工作! –

1
func getValueForKey(searchKey: String) -> String? { 
    for (value, key) in myDictionary { 
    if (key == searchKey){ 
    return value 
    } 
    } 
return nil 
} 

请尝试上面的代码。 在for循环中,您将获得每次单个键值对。您应该与==比较,不包含

+0

感谢您的回复,不幸的是,解决方案没有与我的其他代码一起工作。 –

+0

请发布您的相关代码。也许你会需要调用者代码中的较小更改。 – AlexWoe89

相关问题