我有接收來自API調用如何將另一個數組內的數組存儲到已從Swift中傳遞的全局變量中?
陣列在這一陣列的JSON被其他3個數組:
userDetails
,userStats
,communities
此API調用的一個例子是:
["communities": <__NSArrayI 0x6000002540a0>(
{
id = 5;
name = South;
},
{
id = 13;
name = HurraHarry;
},
{
id = 15;
name = EnclliffeT;
}
)
, "userStats": {
totalDraws = 3;
totalLosses = 10;
totalWins = 1;
}, "userDetails": {
id = 31;
"user_email" = "[email protected]";
"user_name" = "Steve Base";
}]
我想將數組userStats
存儲在我可以傳遞給另一個VC的變量中。
我有一個全局變量var userStatsArray = [AnyObject]()
在我的課
,並與JSON下面的代碼交易:
let json = try JSONSerialization.jsonObject(with: data!, options: .allowFragments) as? [String:AnyObject]
print (json!)
if let arr = json?["communities"] as? [[String:String]] {
self.communitiesArray = arr.flatMap { $0["name"]!}
self.communityIdsArray = arr.flatMap { $0["id"]!}
}
if let dict = json?["userDetails"] as? [String:String] {
self.tempPlayerId = [dict["id"]!]
let characterArray = self.tempPlayerId.flatMap { String.CharacterView($0) }
let newPlayerId = String(characterArray)
self.playerId = newPlayerId
}
if let tempArray = json?["userStats"] as? [String:AnyObject]{
print ("here ", tempArray)
}
打印命令成功打印userStats
陣列,其所有的報頭(totalWins,totalDraws, totalLosses ...) -
如何將此數組存儲到我的全局變量var userStatsArray = [AnyObject]()
中,以便我可以將它傳遞給另一個VC?
那麼數組'userStatsArray'就可以通過segue傳遞,並且內容將按照userStats類中的定義進行設置? – RDowns
您可以通過在目標視圖控制器中聲明相同類型的數組,將userStatsArray傳遞到任何您想要的位置。 –
爲什麼要在自定義類中聲明可選屬性,但只聲明非可選初始化程序?考慮在一個類中必須使用一個聲明的初始化器。 – vadian