2016-10-13 11 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

事は、私はの配列を受け取ることができている「として、値を[ToDictionary]?」「としての価値[Badjoras]?」どのタイプでも、 "Badjoras"だけではありません:) –

答えて

0

には、以下試してみてください。

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

あなたのコメントありがとうございました。しかし、どちらも動作しません:( –

関連する問題