2015-11-12 30 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

相關問題