從頭開始一個Xcode項目。選擇單個視圖選項。在視圖中放置在桌面上。選定1個細胞原型。創建一個單元格標識符「單元格」。添加了滿足tableview協議所需的UITableViewDelegate和函數。 tableview鏈接到視圖控制器。該代碼沒有預運行錯誤或警告。不過,我得到這個錯誤:Swift - tableview加載錯誤 - 可怕的SIGBART
2016-10-15 07:50:29.622 LawDataNHC[5219:196567] * Assertion failure in -[UITableView _configureCellForDisplay:forIndexPath:], /BuildRoot/Library/Caches/com.apple.xbs/Sources/UIKit_Sim/UIKit-3599.6/UITableView.m:8035 2016-10-15 07:50:29.650 LawDataNHC[5219:196567] * Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'UITableView (; layer = ; contentOffset: {0, 0}; contentSize: {375, 44}>) failed to obtain a cell from its dataSource()' *** First throw call stack:
材料實現代碼如下代碼:
class ViewController: UIViewController, UITableViewDelegate {
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
}
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return 1
}
func numberOfSections(in tableView: UITableView) -> Int {
return 1
}
private func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = UITableViewCell(style: .default, reuseIdentifier: "cell")
cell.textLabel?.text = "test"
return cell
}
你設置你的視圖控制器的表視圖的數據源?你的代碼也不會使用你的原型單元,因爲你只是實例化一個UITableViewCell。您需要使用'dequeueReusableCellWithIdentifier'來使用原型單元 – Paulw11
我沒有將視圖控制器設置爲表視圖委託和數據源。下面的hagfish提供的dequeReusableCell(withIdentifier:「cell」)解決方案也不起作用。這使我像過去一樣瘋狂(Swift 2)我用其他的表格使用了精確的代碼。 –