如何解决tableView:numberOfRowsInSection:无法识别的选择器发送到实例错误
我有这个烦人的问题。我搜了很多很多人建议了很多事情。 就像添加了这些 TableViewDataSource 和 TableViewDelegate 一样;
class SalesNewViewController: UIViewController,UIPickerViewDelegate,UIPickerViewDataSource,UITableViewDelegate,UITableViewDataSource
连接参考插座;
并通过代码连接数据源和委托;
TableView.dataSource = self
TableView.delegate = self
我在尝试performSegue时遇到此错误,而没有 performSegue (例如,如果我想通过单击 TableViewCell 来打印 hello 进行控制台>)它不会给出任何错误;
func tableView(_ tableView: UITableView,didSelectRowAt indexPath: IndexPath) {
performSegue(withIdentifier: "SalesSegue",sender: self)
}
即时通讯将相同的东西用于另一个View,它可以正常工作。任何帮助都将非常可爱。
编辑1:我有两种运行所需的方法。 numberOfRowsInSection 和 cellForRowAt
解决方法
如果您在Xcode帮助系统中搜索“ UITableViewDataSource”,则会获得有关该协议的文章。它说:
Only two methods of this protocol are required,and they are shown in the following example code.
// Return the number of rows for the table.
override func tableView(_ tableView: UITableView,numberOfRowsInSection section: Int) -> Int {
return 0
}
// Provide a cell object for each row.
override func tableView(_ tableView: UITableView,cellForRowAt indexPath: IndexPath) -> UITableViewCell {
// Fetch a cell of the appropriate type.
let cell = tableView.dequeueReusableCell(withIdentifier: "cellTypeIdentifier",for: indexPath)
// Configure the cell’s contents.
cell.textLabel!.text = "Cell text"
return cell
}
您谈论的是连接事物,但没有提及实现这些方法。
假设视图控制器是表视图的数据源,则视图控制器至少需要实现这两种方法(numberOfRows(inSection:)
和cellForRow(at:)
)。
您可以将它们放置在视图控制器的主体中,也可以将其包含在为UITableViewDataSource
协议提供协议一致性的扩展中。
(请注意,numberOfRows(inSection:)
由苹果提供的示例代码将导致表视图为空。您需要将return 0
位替换为返回您的表格视图,无论对您的应用程序意味着什么。)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。