【发布时间】:2020-09-26 22:08:14
【问题描述】:
我已阅读UITableView method cellForRowAtIndexPath not called 并尝试了各种约束组合......而且我确信我的问题无关紧要。
也许它与我的 TableLoader 类有关?我试图避免将 ViewController 设置为 UITableViewDataSource、UITableViewDelegate,这就是我创建第二个类的原因。有任何想法吗?谢谢
import UIKit
class ViewController: UIViewController {
@IBOutlet weak var table: UITableView!
override func viewDidLoad() {
super.viewDidLoad()
let loader = TableLoader(tableIn: table)
loader.loadData()
}
}
class TableLoader: NSObject, UITableViewDataSource, UITableViewDelegate {
@IBOutlet weak var table: UITableView!
init(tableIn: UITableView ) {
self.table = tableIn
}
func loadData() {
NSLog("INHE")
table.delegate = self
table.dataSource = self
}
let beverages = [
("Coke", "2.00", "12 fl oz", "ipsum lorem"),
("Sprite", "2.00", "12 fl oz", "ipsum lorem"),
("Powerade", "2.00", "20 fl oz", "ipsum lorem"),
("Blue Moon", "2.00", "12 fl oz", "ipsum lorem"),
("Budweiser", "2.00", "12 fl oz", "ipsum lorem"),
("Bud Light", "2.00", "12 fl oz", "ipsum lorem"),
("Corona", "2.00", "12 fl oz", "ipsum lorem"),
("Dos Equis", "2.00", "12 fl oz", "ipsum lorem"),
("Fat Tire", "2.00", "12 fl oz", "ipsum lorem"),
("Heineken", "2.00", "12 fl oz", "ipsum lorem"),
("Red Stripe", "2.00", "12 fl oz", "ipsum lorem"),
("Stella Artois", "2.00", "12 fl oz", "Stella Artois Premium Lager"),
("Yuengling", "2.00", "12 fl oz", "ipsum lorem")]
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
NSLog("\(beverages.count)")
return beverages.count
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
NSLog("hi")
let cell = table.dequeueReusableCell(withIdentifier: "cell", for: indexPath) as UITableViewCell
//let beverage =
cell.textLabel?.text = beverages[indexPath.row].0
return cell
}
}
【问题讨论】:
标签: ios swift iphone uitableview ios13