numberOfSectionsInTableView未调用

时间:2015-04-22 16:04:47

标签: ios uitableview swift

在我的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

中回复

5 个答案:

答案 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
    }