Итак, у меня есть несколько данных json, которые я хочу суммировать, поэтому я пробую цикл, и он все еще не работает, я пытаюсь уменьшить и все еще не работать, я помещаю переменную данных json в массив, но все еще не могуполучить результат
Итак, это данные Json:
[
{
"projects_id": 13,
"projects": "Immobi Track",
"assignee_id": "193",
"assignee": "Ivander",
"counts": 8
},
{
"projects_id": 13,
"projects": "Immobi Track",
"assignee_id": "195",
"assignee": "Adrian ",
"counts": 3
},
{
"projects_id": 13,
"projects": "Immobi Track",
"assignee_id": "204",
"assignee": "khalid",
"counts": 11
},
{
"projects_id": 13,
"projects": "Immobi Track",
"assignee_id": "164",
"assignee": "Testing",
"counts": 0
},
{
"projects_id": 13,
"projects": "Immobi Track",
"assignee_id": "171",
"assignee": "Ahma",
"counts": 0
},
{
"projects_id": 13,
"projects": "Immobi Track",
"assignee_id": "13",
"assignee": "Hafi",
"counts": 0
},
{
"projects_id": 13,
"projects": "Immobi Track",
"assignee_id": "17",
"assignee": "Bob ",
"counts": 0
},
{
"projects_id": 13,
"projects": "Immobi Track",
"assignee_id": "10",
"assignee": "Hest",
"counts": 0
}
]
Я пытаюсь суммировать данные "подсчетов" по каждому из данных уполномоченного, но я не могу понять, почему, когдая пытаюсь напечатать, что это выглядит как отдельные данные не внутри массива, но я просто помещаю все эти данные в массив ..... вот мой код
struct pivotProjectSum : Codable {
let projects_id: Int
let projects : String
let assignee_id : String
let assignee : String
let counts : Int
}
private var pivot : [pivotProjectSum] = []
URLSession.shared.dataTask(with: JsonUrl) { (data, response, error) in
guard let data = data else {return}
do{
let parsing = try JSONDecoder().decode([pivotProjectSum].self, from: data)
self.pivot = parsing
DispatchQueue.main.async {
if parsing.isEmpty{
let action = UIAlertAction(title: "Ok", style: .default, handler: nil)
let alert = UIAlertController(title: "Data Empty", message: "No Data...", preferredStyle: .alert)
alert.addAction(action)
self.present(alert, animated: true, completion: nil)
}else{
self.pivotTableView.reloadData()
}
}
}catch{
print("This is the error??♂️\(error)")
}
}.resume()
}
}
extension PicSummaryViewController : UITableViewDelegate, UITableViewDataSource {
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return pivot.count
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let piv = pivot[indexPath.row]
//let pivots = pivot[indexPath.self]
guard let cell = pivotTableView.dequeueReusableCell(withIdentifier: "Pivot") as? PicSummaryTableViewCell else {return UITableViewCell()}
cell.UserLbl.text = piv.assignee
cell.openLbl.text = "\(piv.counts)"
projectLbl.text = piv.projects
print(piv.counts)
let numbers = [piv.counts]
var sum = 0
var counter = 0
print("This is the numbers??♂️\(numbers)")
while counter < numbers.count{
var newValue = numbers[counter]
sum += newValue
counter += 1
}
print("this is the result ?\(counter)")
let total = numbers.reduce(0, +)
print("this is the result ?\(total)")
for i in 0...numbers.count{
sum += i
}
print("this is the result ?\(sum)")
return cell
}
//i try every single method, but i still cant get the result.
// and no im not combine all of that sum method, i use it 1 method at a time
, и результат выглядит таккаждый метод:
This is the numbers??♂️[0]
this is the result ?1
0
This is the numbers??♂️[0]
this is the result ?1
0
This is the numbers??♂️[0]
this is the result ?1
8
This is the numbers??♂️[8]
this is the result ?1
3
This is the numbers??♂️[3]
this is the result ?1
11
This is the numbers??♂️[11]
this is the result ?1
0
This is the numbers??♂️[0]
this is the result ?1
0
This is the numbers??♂️[0]
this is the result ?1
0
This is the numbers??♂️[0]
this is the result ?1
0
This is the numbers??♂️[0]
this is the result ?1
так что-нибудь помочь, сэр?я еще новичок и учусь у этого разработчика Swift