2017-06-18 83 views
1

我想在代碼中用示例數據填充基本tableview。這裏是我的ViewController:爲什麼我的tableView沒有被填充?

import UIKit 

class TableViewController: UIViewController, UITableViewDataSource, UITableViewDelegate { 

    @IBOutlet weak var postTableView: UITableView! 

    func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { 
     return 4 
    } 

    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { 
     let cell = tableView.dequeueReusableCell(withIdentifier: "postcell", for: indexPath) 

     cell.textLabel?.text = "title" 
     cell.detailTextLabel?.text = "detail" 
     return cell 
    } 
} 

這是我的故事板 enter image description here

我敢肯定,這個名字"postcell"是正確的,我已經迷上了的tableView到ViewController作爲數據源和委託。

當我在iOS模擬器中運行代碼時,沒有顯示出單元格。這是我所看到的:

enter image description here

這裏是我的堆棧視圖約束 enter image description here

堆疊視圖屬性

enter image description here enter image description here

我不希望使用UITableViewController

如何獲取表格單元格?

+0

在你的故事板中,你有沒有確保視圖控制器的類是'TableViewController'? – TylerTheCompiler

+0

@MrSaturn是的,它是TableViewController –

+0

@MrSaturn我已經添加了我的故事板,這有幫助嗎? –

回答

2

如果「postcell」是不是從你的故事板原型細胞,你需要在viewDidLoad中進行註冊:

postTableView.register(UITableViewCell.self, forCellReuseIdentifier: "postcell") 

如果是廈門國際銀行表視圖細胞需要按如下方式來註冊它

postTableView.register(UINib(nibName: "NibName", bundle: nil), forCellReuseIdentifier: "postcell") 

如果你從故事板做到這一點,將一個原型細胞(或表視圖細胞)到你的表視圖和再利用標識稱之爲「postcell」如下所示:

Prototype table view cell

確保你也做你的viewDidLoad以下幾點:

postTableView.delegate = self 
    postTableView.dataSource = self 

當然,你還需要:

func numberOfSections(in tableView: UITableView) -> Int { 
     return 1 
    } 
+2

'numberOfSections(in:)'不是必需的。如果你沒有實現它,那麼假定有一個部分。 – TylerTheCompiler

+0

有沒有使單元格成爲故事板中原型單元格的方法? –

+0

是的。只需將一個表格視圖單元從對象庫拖到表格視圖中,並在重用標識符中將其稱爲「postcell」 – gwinyai

1
中的tableView

(_的tableView:UITableView的,cellForRowAt indexPath:IndexPath)

let cell = tableView.dequeueReusableCell(withIdentifier:「postcell」,for:indexPath)as postcell // add this line

1

謝謝@MrSaturn在評論中指出這是堆棧視圖的問題。在故事板中,我必須將堆棧視圖的對齊屬性從中心更改爲填充。

相關問題