微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在CellForRowAt / CellForItemAt外部更新单元格

如何解决在CellForRowAt / CellForItemAt外部更新单元格

我正在UICollectionView内创建一个UITableViewCell。在必须从API获取数据之前,布局设置非常好。我必须同时更新我的​​TableViewCell数据和CollectionViewCell数据。

这是我执行更新方法的方式:

func updateUI() {
        guard vietLottResult.resultModel.count > 0 else {return}
        dispatchQueue.main.async {
            let tableIndexPath = IndexPath(row: 0,section: 0)
            let tableCell = self.tableView.cellForRow(at: tableIndexPath) as! TableViewCell
            
            let date = self.vietLottResult.resultModel[tableIndexPath.row].date
            let dateString = Date(timeIntervalSince1970: Double(date))
            DateFormatter().dateStyle = .short
            DateFormatter().timeStyle = .none
            let localDate = DateFormatter().string(from: dateString)
            tableCell.leftLabel.text = localDate
            
            let colIndexPath = IndexPath.init(item: 0,section: 0)
            let collectionView = tableCell.collectionView
            let colCell = collectionView.cellForItem(at: colIndexPath) as! CollectionViewCell
            colCell.number.text = String(self.vietLottResult.resultModel[collectionView.tag].result[colIndexPath.item])
        }
        
    }

不幸的是,UI仅更新第一个单元格标签TableViewCellCollectionViewCell)。我知道IndexPath设置肯定有问题,但是根据我对所有类似主题搜索,我找不到其他答案。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。