[英]Insert an Object inside an Array swift
我從 API 響應中得到一個對象,如下所示。
"Home":[
{
"type":"Something",
"id":"Something",
"interval":3,
"category":"Something",
"title":"Something",
"vc":[]
},
{
"type":"Something",
"id":"Something",
"TableFooterDisclaimer":"",
"category":"Something",
"title":"Something",
"vc":[
{
"Something":"Something",
"id":0,
"Something":"Something",
"Something":"Something",
"Something":"Something",
"Something":"Something",
"Something":"Something",
},
{
"Something":"Something",
"id":1,
"Something":"Something",
"Something":"Something",
"Something":"Something",
"Something":"Something",
"Something":"Something",
},
{
"Something":"Something",
"id":2,
"Something":"Something",
"Something":"Something",
"Something":"Something",
"Something":"Something",
"Something":"Something",
}
]
},
我正在嘗試再插入一條如下所示的記錄。
let object : [String : Any] = [
"Something":"Something",
"id":1,
"Something":"Something",
"Something":"Something",
"Something":"Something",
"Something":"Something",
"Something":"Something",
]
我試圖將這個object
插入到Home
的第一個索引的vc
數組中,如下所示,但遇到了問題。
if let serverArray = info["Home"] as? [[String: AnyObject]] {
self.myArray = serverArray
self.myArray![1]["vc"]?.insert(self.object, at: 0)
}
我曾嘗試將 let object : [String:Any] 轉換為 [String:AnyObject] 但這也不起作用。
你可以嘗試這樣的事情:
if var serverArray = info["Home"] as? [[String: Any]] {
if serverArray.count > 1 {
var vcs = serverArray[1]["vc"] as? [[String: Any]]
vcs?.insert(self.object, at: 0)
serverArray[1]["vc"] = vcs
}
self.myArray = serverArray
}
但它有點丑。
像@JoakimDanielson 評論的那樣使用Codable 和 JSONDecoder會更好。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.