2017-06-13 59 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