在我的ViewController中,我有一个UITableView和这些方法:
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
if(self.mQuoteObjects.count > 0){
return 1
}
return 0
}
func tableView(tableView: UITableView, numberOfSectionsInTableView section: Int) -> Int {
let nbItem = self.mQuoteObjects.count
return nbItem
}
正确调用方法“numberOfRowsInSection”,但从不调用“numberOfSectionsInTableView”。
我错过了什么?
您可以在Obj-c
中回复答案 0 :(得分:8)
方法的名称不正确。它应该是numberOfSectionsInTableView(_:)
。
请参阅UITableViewDataSource protocol reference。
func numberOfSectionsInTableView(tableView: UITableView) -> Int {
return self.mQuoteObjects.count
}
答案 1 :(得分:3)
对于Swift 3
func numberOfSections(in tableView: UITableView) -> Int {
}
答案 2 :(得分:1)
Swift 5中有一个关于继承的错误,例如:
如果您有一个实现 UITableViewDataSource 的类,但没有实现 numberOfSections ,则仅在子类中, 此功能从不调用。您需要在此类中声明此函数,并在子类中声明 override 。
有关以下内容的更多信息: https://forums.developer.apple.com/thread/115579 https://bugs.swift.org/browse/SR-10257
答案 3 :(得分:0)
方法名称错误
试试这个:
func numberOfSectionsInTableView(tableView: UITableView) -> Int {
return self.mQuoteObjects.count
}
答案 4 :(得分:0)
如果有人正在使用 SWIFT 5
func numberOfSections(in tableView: UITableView) -> Int {
// #warning Incomplete implementation, return the number of sections
return 2
}