2017-06-13 41 views
-1

爲什麼append(data)無法正常工作?字典在SWIFT中無法使用

import Foundation 

//This is working. 
let tablelist:[String: String] = [ 
    "red1": "manu1", 
    "blue1": "chelsea1", 
    "yellow1": "dort1", 
    "green1": "nakamura1", 
    "purple1": "real1" 
] 

var resulttablelist = [String: String]() 

resulttablelist = tablelist 

resulttablelist.removeAll() 

for data in tablelist { 
if data.value.contains("manu1") { 

    //This append(data) not working. I have an error. I need your help. 
    var resulttablelist = [String: String]() 
    resulttablelist.append(data) 

    print(resulttablelist) 
    } 
} 

錯誤:

//Error!! value of type '[String : String]' has no member 'append' 

此示例代碼工作。

for data in tablelist { 
if data.value.contains("manu1") { 
    print(data) 
    } 
} 

會打印:

(key: "red1", value: "manu1") 

回答

-1

將這個變種resulttablelist =字符串:串出brakets的

import Foundation 

    //This is working. 
    let tablelist:[String: String] = [ 
             "red1": "manu1", 
             "blue1": "chelsea1", 
             "yellow1": "dort1", 
             "green1": "nakamura1", 
             "purple1": "real1" 
             ] 

    var resulttablelist = [String: String]() 

    resulttablelist = tablelist 

    resulttablelist.removeAll() 

    var newresulttablelist = [String: String]() 
    for data in tablelist { 
     if data.value.contains("manu1") { 

      newresulttablelist.append(data) 

      print(newresulttablelist) 
     } 
    } 
+0

謝謝你們。你的答案完美。我將學習更多,盡我所能。 – NormalOne

0

嘗試resulttablelist [關鍵] =價值

resulttablelist是一本字典所以它需要有一個關鍵值對

,其中鍵和值都是字符串

編輯:在您的情況下,將

resulttablelist[data.key] = data.value 
+0

謝謝你們。你的答案完美。我將學習更多,盡我所能。 – NormalOne

0

字典沒有在斯威夫特的append方法。您需要使用resulttablelist["manu1"] = data,而不是resulttablelist.append(data)

+0

謝謝你們。你的答案完美。我將學習更多,盡我所能。 – NormalOne

0

您不能追加的關鍵,它的價值,你應該 resulttablelist[data.key] = data.value 更換您的追加和在你每次重置您的陣列小心的行var resulttablelist = [String: String]()

+0

謝謝你們。你的答案完美。我將學習更多,盡我所能。 – NormalOne