gpt4 book ai didi

IOS TableView 不响应最后一行代码

转载 作者:行者123 更新时间:2023-11-28 10:14:16 26 4
gpt4 key购买 nike

我正在使用 swift 3 并有一个 TableView,我是否试图在用户位于最后一行时触发一段特定的代码。出于某种原因,它完全忽略了这一点并且没有开火。我什至在那里放了一个断点,但它没有命中。这是我的

func tableView(tableView: UITableView, willDisplayCell cell: UITableViewCell, forRowAtIndexPath indexPath: NSIndexPath) {

if indexPath.row == self.Locations.count {
print("Last Row")
}
}

打印语句没有显示,断点也没有。我的 TableView 代码是这样的

class HomePageC: UIViewController,UITableViewDataSource {

@IBOutlet weak var TableSource: UITableView!
var Locations = [String]()

override func viewDidLoad() {
super.viewDidLoad()

TableSource.allowsSelection = false
TableSource.dataSource = self
TableSource.estimatedRowHeight = 504
TableSource.showsVerticalScrollIndicator = false
TableSource.rowHeight = UITableViewAutomaticDimension

TableSource.tableFooterView = UIView()

}

func tableView(_ tableView:UITableView, numberOfRowsInSection section:Int) -> Int {
// This always returns 10 items
return Locations.count
}

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) ->
UITableViewCell {
// This just populates the fields as I have a custom TableView
}

最佳答案

您是否已验证 willDisplay() 是否被调用?我怀疑是不是。 func tableView(UITableView, willDisplay: UITableViewCell, forRowAt: IndexPath) 是一个 UITableViewDelegate 方法。在您设置它的委托(delegate)属性之前,您的 TableView 将不知道调用它,但我看不到这是在哪里完成的。

委托(delegate)可以在 viewDidLoad() 中设置,就像您为 dataSource 属性所做的那样:

TableSource.delegate = self

您还需要声明 HomePageC 采用了 UITableViewDelegate 协议(protocol)。这可以在类声明中完成:

class HomePageC: UIViewController, UITableViewDataSource, UITableViewDelegate {

关于IOS TableView 不响应最后一行代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43549556/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com