我有一个CoreData实体,我需要将每个对象的值填充到表视图单元格中。在故事板中,我可以添加行并单独更改单元格的样式,但在这种情况下,我根据我的对象数处理单元格,我必须以编程方式插入行并更改单元格样式。
我猜我需要一个带有代码的foreach循环来以编程方式插入行。有谁知道如何实现这个目标?
答案 0 :(得分:1)
您必须实施OriginalCode
。有关详细信息,请参阅API Reference。
将核心数据与UITableViewDataSource
一起使用时,您可能还需要查看UITableView
。
答案 1 :(得分:1)
您需要使用UITableViewDataSource方法。将dataSource协议添加到您的类并符合它。您正在寻找的方法是:
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell
您可能还希望符合UITableViewDelegate协议。
做这样的事情:
class MyClass: UITableViewDataSource, UITableViewDelegate {
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
//Do your thing
}
//Conform to rest of the delegate and datasource methods too. Click on UITableViewDataSource to see the documentation
答案 2 :(得分:1)
您需要实现override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int
和return
对象数组的计数,然后为单元格设置重用标识符并添加代码:
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "Cell") //replace "Cell" with your identifier
cell.textLabel = yourTitleArray[indexPath.row]
cell.detailTextLabel = yourSubtitleArray[indexPath.row]
return cell!
}
不要忘记用您的阵列替换yourTitleArray
和yourSubtitleArray
。