Пожалуйста, помогите мне, я пытаюсь получить массив внутри массива. Примените его к пользовательскому табличному представлению с заголовками и разделами, заголовки - это первый массив, разделы - второй.
Я добавил комментарий в строке: print (subData.name), не могу понять это, как получить этот массив внутри массива.
Также я пытаюсь использовать эти JSON данные в табличном представлении с заголовками и разделами.
Спасибо, что помогли мне заранее, ценю ваше время .
Код Swift:
struct getSubData: Decodable {
let id: Int
let name: String
}
struct Section: Decodable {
let id: Int
let name: String
let subData: [getSubData]
}
class MobileBrand {
var brandName: String?
var modelName: [String]?
init(brandName: String, modelName: [String]) {
self.brandName = brandName
self.modelName = modelName
}
}
class indexViewController: UIViewController {
@IBOutlet weak var tableView: UITableView!
var mobileBrand = [MobileBrand]()
override func viewDidLoad() {
super.viewDidLoad()
let url = "https://nabulsi.com/nabulsi_app/main_sections_v4.json"
let urlObj = URL(string: url)
URLSession.shared.dataTask(with: urlObj!){(data, response, error) in
do {
let sections = try JSONDecoder().decode([Section].self, from: data!)
//print(sections[0].subData[0].name)
//print(section.subData)
//print(sections.count)
//print(sections[0].subData[0])
for section in sections {
print(section.name)
print(subData.name) //couldn't figure this out
}
} catch {
print("We got an error")
}
}.resume()
// How to change the data below with JSON above.
mobileBrand.append(MobileBrand.init(brandName: "Apple", modelName: ["iPhone 5s","iPhone 6","iPhone 6s", "iPhone 7+", "iPhone 8"]))
mobileBrand.append(MobileBrand.init(brandName: "Samsung", modelName: ["Samsung M Series", "Samsung Galaxy Note 9", "Samsung Galaxy Note 9+"]))
mobileBrand.append(MobileBrand.init(brandName: "Mi", modelName: ["Mi Note 7", "Mi Note 7 Pro", "Mi K20"]))
mobileBrand.append(MobileBrand.init(brandName: "Huawei", modelName: ["Huawei Mate 20", "Huawei P30 Pro"]))
}
}
JSON Данные:
[
{
"name": "MAIN NAME 1 v4",
"id": 1,
"subData": [
{
"name": "1 NAME 1",
"id": 101,
},
{
"name": "1 NAME 2",
"id": 102,
},
{
"name": "1 NAME 3",
"id": 103,
},
{
"name": "1 NAME 4",
"id": 104,
}
],
},
{
"name": "MAIN NAME 2 v4",
"id": 2,
"subData": [
{
"name": "2 NAME 1",
"id": 201,
},
{
"name": "2 NAME 2",
"id": 202,
},
{
"name": "2 NAME 3",
"id": 203,
}
],
},
{
"name": "MAIN NAME 3 v4",
"id": 3,
"subData": [
{
"name": "3 NAME 1",
"id": 301,
},
{
"name": "3 NAME 2",
"id": 302,
},
{
"name": "3 NAME 3",
"id": 303,
}
],
},
]