我正在尝试在表格视图单元格内使用表格视图。这是我的代码
class TableViewInsideCell: UITableViewCell, UITableViewDelegate, UITableViewDataSource{
@IBOutlet weak var tableView: UITableView!
override func awakeFromNib() {
super.awakeFromNib()
// Initialization code
tableView.delegate = self
tableView.dataSource = (self as! UITableViewDataSource)
}
override func setSelected(_ selected: Bool, animated: Bool) {
super.setSelected(selected, animated: animated)
}
override func numberOfSections(in tableView: UITableView) -> Int {
return 5
}
override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return 1
}
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell( withIdentifier: "identifier",for: indexPath)
return cell
}
}
我收到错误消息,告诉我numberOfSections, numberOfRowsInSection
和cellForRowAt
没有覆盖其超类中的任何方法。
答案 0 :(得分:1)
遵守协议时,您只需实施方法主体。
子类的子类时,可以Override
方法。
当您使用自定义TableViewController
时,您会使用override
方法,因为您不是符合UITableViewDataSource
的人,所以超级视图(UITableViewController)是。
但是,如果您不是从UITableViewController
继承,例如您的情况是从UITableViewCell
继承,则该方法不在超类中,您应该自己实现。
答案 1 :(得分:0)
我不建议在UITableView
中使用UITableViewCell
。建议您将UITableView
与具有自定义UITableViewCell
的{{1}}一起使用,并且在此UIView
中,您将UIView
与自定义UICollectionView
一起使用。