[英]Swift: '()' is not convertible to '[String : AnyObject]'
[英]Swift[String: AnyObject] not convertible to T Swift Arrays
我正在使用Swift擴展程序。 我試圖將數據追加到[[String: AnyObject]]
類型的數組中。 之所以在擴展中,是因為我必須對很多數組進行很多次。 問題是,當我追加類型為[String: AnyObject]
的對象時,出現錯誤: Dictionary'<'String, AnyObject'>' Not Convertible to T
(引號存在,因為在胡蘿卜中未顯示任何內容) 。
mutating func appendData(data: [String: [String: AnyObject]]?) {
if data != nil {
for (id, object) in data! {
var mutatingObject = object
mutatingObject["id"] = id
append(mutatingObject)
}
}
}
我不確定您到底要達到什么目標。 但請注意-數組是存儲特定類型的通用集合。 Array擴展可能不知道在每種情況下將使用哪種類型,因此它不能簡單地允許您存儲Dictionary<String, AnyObject>
。
這是有關如何使代碼更通用的示例:
extension Array {
mutating func appendData(data: [String: T]?) {
if data != nil {
for (id, object) in data! {
if var mutatingObject = object as? [String : AnyObject] {
mutatingObject["id"] = id
}
append(object)
}
}
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.