簡體   English   中英

Swift 2.2陣列符合協議

[英]Swift 2.2 Array conforms to protocol

我收到類型為[String:Any]的Dictionary,我想檢查字典中的值是否為符合特定協議的Array:

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中則不能。 關於如何實現這一目標的任何想法?

謝謝

嘗試以下:

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)
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM