高效方式我有如下的數據模型:顯示數據的多個陣列成單個的tableview部
class Model {
var field1 = Data()
var field2 = Data()
var field3 = [Data]()
var field4 = [Data]()
}
var model = Model() // Provide data here
該模型將被獲取並從API解析,我使用另一個類的數據作爲一個子模型形成模型。我需要顯示Model對象爲順序單表視圖部分:
字段1 - >場2 - > [字段3] - > [字段4]
什麼,我計劃做是如下:
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return model.count
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "StatusCell") as! StatusCell
switch indexPath.row {
case 0:
// Do something with field1
case 1:
// Do something with field2
case 2...(2 + field3.count):
// Do something with field3
case (2 + field3.count)...(2 + field3.count + field4.count)
// Do something with field4
return cell
}
至於我的觀點,這是一個很大低效的,因爲每次調用cellForRowAt時,它都必須一次又一次地計算數組大小,但我必須檢查數組以便按照上面預定義的順序顯示它們。但是,這是我目前唯一的方式。
我想改善代碼以獲得更好的效率,可能是數據應該存儲在模型中(而不是數組或類似的東西)或如何將數據正確填充到表視圖中。請幫忙指出我應該在哪裏改進代碼以及如何改進代碼。
感謝
什麼是「數據」類(數據類型) –