2016-12-14 42 views
0

對於var myArray:[[String:Any]]的Xcode讓我自動完成功能的相同名稱的屬性SWIFT:。首先(其中:...)

myArray.first(where:{$0["name"] == "John Doe"}) 

但當時沒有讓我有錯誤「無法調用值編譯非功能型「[字符串:任何]?」」

所以anotherwords,迅速想不通,我正在尋找方法first(where:_),而不是沒有參數沒有版本.first。是什麼賦予了?

+0

@AlexanderMomchliov定了! –

回答

2

Xcode給這個錯誤提供了錯誤的信息。這是一個簡單的類型的東西。你不能比較的AnyString

myArray.first(where:{$0["name"] == "John Doe"}) 

應該是:

myArray.first(where:{ 
    guard let name $0["name"] as? String else {return false} 
    return name == "John Doe" 
    }) 
+1

你可以把它寫成'myArray.first(其中:{$ 0 [「name」] as String ==「John Doe」})' – OOPer

+1

@JoeDaniels這就是爲什麼你不使用字典來存儲靜態數據結構這樣的鍵:頁 – Alexander

相關問題