我需要一个按省份显示大学名称的功能

问题描述 投票:0回答:0

我正在尝试制作一个显示土耳其所有大学的应用程序。我想使用 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
}



}

我希望有人能帮助我。我分享了你需要的所有代码。我知道这很容易,但我无法创建一个算法来获取大学名称。

swift xcode uikit tableview
© www.soinside.com 2019 - 2024. All rights reserved.