无法指定类型'[(string,string)]'的值来键入'[string:string]'

Luc*_*rto 1 dictionary ios swift

我已经宣布这个词典:

var arrayFrasi:[String:String] = [:]
Run Code Online (Sandbox Code Playgroud)

然后在viewDidLoad中我从我的数据库中检索数据,然后使用以下代码对字典进行排序:

let df = NSDateFormatter()
        df.dateFormat = "dd-MM-yyyy"

        let myArrayOfTuples = self.arrayFrasi.sort{ df.dateFromString($0.0)!.compare(df.dateFromString($1.0)!) == .OrderedAscending}
Run Code Online (Sandbox Code Playgroud)

但是当我这样做时,我需要使用初始字典(arrayFrasi):

self.arrayFrasi = myArrayOfTuples
Run Code Online (Sandbox Code Playgroud)

我有这个错误:

无法指定类型'[(string,string)]'的值来键入'[string:string]'

我无法弄清楚为什么.非常感谢你!

fgu*_*aar 7

这很有道理.字典没有已定义的顺序,因此sort返回一个元组数组.

Swift的Dictionary类型没有定义的顺序.要按特定顺序迭代字典的键或值,请在其键或值属性上使用sort()方法.

https://developer.apple.com/library/ios/documentation/Swift/Conceptual/Swift_Programming_Language/CollectionTypes.html