我有快速3转换代码正常工作。为了更改我已实现的应用功能
numberOfSections
但从未打过电话。我不明白为什么?我的Controller是从故事板添加的UIViewController和TableView。 TableView数据源连接到当前视图控制器。我正在获得一个名为
的其他数据源方法func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int
但从未打过电话
func numberOfSections(in tableView: UITableView) -> Int{
return 3
}
答案 0 :(得分:2)
你说你设置了tableView的dataSource,但只是为了确保再次在你的代码中重新设置,如下所示:
override func viewDidLoad() {
super.viewDidLoad()
tableView.delegate = self
tableView.dataSource = self
}
答案 1 :(得分:2)
而不是像:
func numberOfSections(in tableView: UITableView) -> Int
这样做:
func numberOfSectionsInTableView(_ tableView: UITableView) -> Int
答案 2 :(得分:1)
我刚遇到同样的问题。将UICollectionViewDelegate,UICollectionViewDataSource附加到我的类中,立即修复了问题,编译器确切地告诉了我一直缺少什么等等。
似乎Swift中的UICollectionView是在协议基础上而不是在基于方法的基础上预先检查是否符合要求。例如,我对“numberOfSections”的实现完全没问题,但是没有符合性声明就没有调用它。