【问题标题】:Setting delegate and datasource in custom UITableView在自定义 UITableView 中设置委托和数据源
【发布时间】:2017-03-01 04:34:10
【问题描述】:

我正在尝试创建一个UITableView 作为我的UIViewController 的自定义子视图,但是数据未显示在表格中。我怀疑问题是我的表的delegatedatasource 没有设置。我怎样才能链接它们? UITableViewDataSource 似乎在 UITableView 类中不起作用?

UIViewController

    let projectDeck = ProjectDeck()
    projectDeck.frame = CGRect(x: 0, y: statusBarHeight + 132, width: screenWidth, height: screenHeight - 132)
    self.view.addSubview(projectDeck)

UITableView

class ProjectDeck: UITableView {

    var items = ["Test", "TestTest", "TestBestWestVest"]

    override func numberOfRows(inSection section: Int) -> Int {
        return items.count
    }

    override func cellForRow(at indexPath: IndexPath) -> UITableViewCell? {
        let cell = UITableViewCell()
        cell.textLabel?.text = items[indexPath.row]
        return cell
    }

}

【问题讨论】:

标签: ios iphone swift uitableview subclass


【解决方案1】:

您需要添加数据源和委托引用。

您可以通过出口或故事板来做到这一点。

使用奥特莱斯:

yourTableView.datasource = self
yourTableView. delegate = self

使用故事板

按住 ctrl 并拖动表格视图到第一响应者旁边的视图控制器,然后单击数据源和委托。

【讨论】:

    【解决方案2】:

    在视图控制器中设置委托和数据源

    即在视图控制器中

    projectdesc.tableview.datasource = self
    projectdesc.tableview.delegate = self
    

    并在viewccontroller中实现了像cellforRow这样的tableview方法

    并确保您在 viewcontroller 中正确添加 tableview 作为子视图

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-07-01
      • 2011-09-21
      • 2015-11-05
      • 1970-01-01
      • 2012-06-25
      • 1970-01-01
      • 2010-12-10
      • 1970-01-01
      相关资源
      最近更新 更多