我有以下代码,我认为使用 for (_ , value) in dict {
将我的数组 (dict) 分成 3 个部分。
let json = try JSONSerialization.jsonObject(with: data!, options: .allowFragments) as? [String:AnyObject]
print (json!)
if let dict = json?["playerForm"] as? [String:AnyObject] {
print ("step 1")
for (_ , value) in dict {
if let arr = value as? [[String:Any]] {
print(arr)
self.leagueForm = arr.flatMap { Form($0) }
for i in 0..<self.leagueForm.count {
let form = self.leagueForm[i]
self.formGuide.append(form.player_result!)
}
print ("break")
}
}
print (self.formGuide)
}
我希望在 self.leagueForm 中有 3 个元素包含每个球员的数据。
然后将此数据放入此自定义类中:
struct Form {
var player_result: String?
var player_name: String?
var result_date: String?
var result_id: String?
init(_ dictionary: [String : Any]) {
self.player_result = dictionary["result"] as? String ?? ""
self.player_name = dictionary["name"] as? String ?? ""
result_date = dictionary["date"] as? String ?? ""
result_id = String(dictionary["results_id"] as? Int ?? 0)
}
}
var leagueForm = [Form]()
当我print (arr)
时,它会打印完整的数组。
我的目标是在自定义类中拥有 3 组数据,每个玩家一组。您可以在下面的屏幕截图中看到每个玩家的休息时间。
在此图片的最后一行,您可以看到每个玩家的表单已添加到一个元素中。
我想要的是类似下面的东西:
[name: G , results: "W", "D", "W", "D", "W", "W", "D", "L"]
[name: Dicky, results: "L", "L", "D", "W", "L", "W", "W", "W"]
[name: Sultan, results: "W", "W", "D", "L", "L", "L", "D", "L"]
然后我可以将其传递到表格中以显示结果。
我如何实现这一点?或者我如何测试我的自定义类以查看我目前所处的位置?
最佳答案
你可以这样实现
var arrResult : [String] = []
let arrMainData = [["name":"ABC","result":"result1"],["name":"ABC","result":"result2"],["name":"ABC","result":"result3"]]
let name : String! = arrMainData[arrMainData.count-1]["name"]
for index in 0...arrMainData.count-1{
arrResult.append(arrMainData[index]["result"]!)
}
let myArr : [String: AnyObject] = ["name" : name,"arrResult":arrResult]
print(myArr)
结果应该像 [name: ABC , results:["result1","result2","result3"]]
关于ios - 如何将此数组拆分为单独的元素/数组以在 Swift 的表中使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42039859/