我正在尝试制作一个显示土耳其所有大学的应用程序。我想使用 tableView。所有城市都会有部分。我想在它所在的城市部分下显示大学。 这是我的 json URL:https://raw.githubusercontent.com/anilozmen/TR-iller-universiteler-JSON/master/province-universities.json 这是我的模型文件:
import Foundation
struct InitialData : Codable {
let id: Int
let province : String
let universities : [University]
}
struct University : Codable {
let name : String
let phone : String
let fax : String
let website : String
let email : String
let adress : String
let rector : String
}
我想在自己的部分显示大学的名字。 这是我的 ViewModel 文件:
import Foundation
struct ProvinceListViewModel {
//Fetch provinces as an array
func getProvinces(completion: @escaping([String]) -> ()){
var list = [InitialData]()
var resultList = [String]()
APIService().callApi { dataList in
guard let dataList = dataList else {return}
list = dataList
print(list[1].province)
for i in dataList {
resultList.append(i.province)
print(resultList)
completion(resultList)
}
}
}
}
struct UniversityListViewModel {
}
我想在 UniversityListViewModel 中创建一个函数。如何创建包含大学名称的 [[String]] 数组。
这是我的视图文件(我还没有完成。):
class ViewController: UIViewController, UITableViewDelegate, UITableViewDataSource {
var listViewModel = ProvinceListViewModel()
var uniViewModel = UniversityListViewModel()
var uniList = [[String]]()
var provincelist = [String]() {
didSet {
DispatchQueue.main.async {
self.tableView.reloadData()
}
}
}
@IBOutlet weak var tableView: UITableView!
override func viewDidLoad() {
super.viewDidLoad()
tableView.delegate = self
tableView.dataSource = self
listViewModel.getProvinces { liste in
self.provincelist = liste
}
}
func numberOfSections(in tableView: UITableView) -> Int {
<#code#>
}
func tableView(_ tableView: UITableView, titleForHeaderInSection section: Int) -> String? {
<#code#>
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = UITableViewCell()
cell.textLabel?.text = provincelist[indexPath.row]
return cell
}
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return provincelist.count
}
}
我希望有人能帮助我。我分享了你需要的所有代码。我知道这很容易,但我无法创建一个算法来获取大学名称。