2016-10-13 52 views
0

我收到類型的字典[字符串:任何]和我想檢查在詞典值是符合的某個協議陣列:夫特2.2陣列符合協議

protocol ToDictionary { 
    var badjoras: Bool { get set } 
} 

struct Badjoras: ToDictionary { 
    var badjoras: Bool 
} 

let newArray: [String: Any] = ["First": [Badjoras(badjoras: true)]] 

for (key, value) in newArray { 
    if let newValue = value as? [ToDictionary] { 
     print(true) 
    } 
} 

該作品完全在Swift 3.0中,但在Swift 2.2中並沒有。任何想法,我怎麼能做到這一點?

感謝

+0

不是檢查嘗試檢查像 –

+0

的事情是我可以接受的數組任何類型,不只是「Badjoras」:) –

回答

0

嘗試以下內容: 「?值[ToDictionary]」 「?值[Badjoras]」

protocol ToDictionary { 
    var badjoras: Bool { get set } 
} 

struct Badjoras: ToDictionary { 
    var badjoras: Bool 
} 

let newArray: [String: Any] = ["First": [Badjoras(badjoras: true)]] 

for (key, value) in newArray { 
    if value is [ToDictionary] { 
     print(true) 
    } 
} 
+0

感謝您的評論。但是也不起作用:( –

相關問題