我在Swift擴展中工作。我試圖將數據追加到類型爲[[String: AnyObject]]
的數組。這是擴展的原因是因爲我必須做很多次的數組。問題是,當我追加一個類型爲:[String: AnyObject]
的對象時,出現錯誤:Dictionary'<'String, AnyObject'>' Not Convertible to T
(引號存在,因爲在胡蘿蔔內沒有任何顯示)。Swift [String:AnyObject]不可轉換爲T Swift數組
mutating func appendData(data: [String: [String: AnyObject]]?) {
if data != nil {
for (id, object) in data! {
var mutatingObject = object
mutatingObject["id"] = id
append(mutatingObject)
}
}
}
「的原因,這是一個擴展是因爲我必須做的時候,這大量的以陣列的很多的。」請注意,如果你在很多數組中使用'AnyObject',你很可能在Swift中做錯了。 'AnyObject'偶爾是必需的,但是你應該儘快將這些數組和字典轉換爲具體類型(通常是結構體),然後與這些類型一起工作。圍繞'AnyObject'和鍵/值字典的邏輯非常迅速地變得非常複雜和容易出錯。 – 2014-10-09 21:20:10