gpt4 book ai didi

ios - 针对数组测试 TableView 的单元格中包含的值

转载 作者:行者123 更新时间:2023-11-29 02:16:08 25 4
gpt4 key购买 nike

我需要测试自定义单元格标签的值是否包含在数组中。为此,我创建了一个函数来执行测试并返回一个 bool 值。我的问题是每次单元格进入屏幕时,都会再次进行测试。我应该在哪里进行测试以便只进行一次?

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cellIdentifier = "Cell"
var cell = tableView.dequeueReusableCellWithIdentifier(cellIdentifier, forIndexPath: indexPath) as CustomTableViewCell
var name:String = Array(self.contactList[indexPath.row].keys)[0]
var phones:String = self.contactList[indexPath.row]["\(name)"]!
cell.nameLabel.text = name
cell.phoneLabel.text = phones
cell.inviteButton.tag = indexPath.row

var (matched, id) = self.isRegistered(phones)
if(matched){
cell.phoneLabel.text = "TRUE"
cell.idUser = "\(id)"
}

return cell
}

我需要能够修改单元格以响应此测试。感谢您的帮助!

最佳答案

每次单元格出现时都会调用您的测试,因为您将测试调用放在 cellForRowAtIndexPath: 中(如果像您所说的那样您需要根据测试结果更改单元格的标签值,我不知道看不到任何其他选择)

您可以尝试使用 UITableViewDelegate 方法

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

每次需要呈现单元格时都会调用此函数。

第二种方法有点棘手,我不推荐它,您可以创建 UITableViewCellpool (数组)并维护(调用测试和更改值) )在您认为最好的时间从该池中(例如滚动 tableView 时)

关于ios - 针对数组测试 TableView 的单元格中包含的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28729269/

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