2016-09-19 58 views
0

我更新了Xcode,此後我的數據庫出現問題。 代碼:'UITableView'未能從其dataSource獲取單元格

override func numberOfSections(in tableView: UITableView) -> Int { 
    // return the number of sections 
    return 1 
} 

override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int 
{ 
    // return the number of rows 
    return leadItems.count 
} 

func cellForRow(at indexPath: IndexPath) -> UITableViewCell? 
{ 
    let cell = tableView.dequeueReusableCell(withIdentifier: "Cell", for: indexPath) as! LeadsTableViewCell 

    // Configure the cell... 
    cell.user_name_label.text = leadItems[indexPath.row].user_name 
    cell.school_name_label.text = leadItems[indexPath.row].school_name 

    return cell 
} 

錯誤,我得到的是:

終止應用程序由於未捕獲的異常 'NSInternalInconsistencyException',原因:「的UITableView(;層=; contentOffset:{0,-64} ; contentSize:{375,65802}>)未能從其DataSource()

+0

cellForRowAtIndexPath返回零 –

回答

0

您的cellForRow方法名是不正確的。

替換該行

func cellForRow(at indexPath: IndexPath) -> UITableViewCell? 
{ 

override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { 
+0

它解決了它,太棒了,謝謝! ! –

1

添加到您viewDidLoad方法獲得細胞:

tableView.register(LeadsTableViewCell.self, forCellReuseIdentifier: "Cell") 

這是假設你在故事板的tableView中沒有原型單元格。如果您確實有原型單元格,請確保重用標識符爲"Cell",單元格的自定義類別爲LeadsTableViewCell;那麼就不需要註冊該單元。

UPDATE

我只注意到你的方法名是錯誤的,它應該是:

override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { 

    let cell = tableView.dequeueReusableCell(withIdentifier: "Cell", for: indexPath) as! LeadsTableViewCell 

    // Configure the cell... 
    cell.user_name_label.text = leadItems[indexPath.row].user_name 
    cell.school_name_label.text = leadItems[indexPath.row].school_name 

    return cell 
} 
+0

仍然是一樣的錯誤 –

+0

我的故事板中有一個原型「Cell」,我保證你所說的一切,但是我仍然得到相同的錯誤。謝謝 –

+0

如果有幫助,線程停在班級AppDelegate –

0

爲了得到你的表視圖中的單元格,你必須實現旨在提供表視圖與單元格中的數據源方法對於索引路徑中的給定行。此方法是:

tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) 

由於此方法是一種必需的方法,因此您不能將其忽略出來,否則會出現錯誤。用這種方法配置你的單元格。

相關問題