gpt4 book ai didi

ios - Swift - 单元格在更新正确数据之前显示错误数据

转载 作者:行者123 更新时间:2023-11-30 13:47:44 24 4
gpt4 key购买 nike

单元格中的每个单元格都会加载来自 parse.com 的图像和一些文本但是当我滚动时,它在加载的图像和错误的用户名之前显示错误的图像。时间和消息工作正常。

我已经阅读过有关prepareForReuse()方法的信息,但它不起作用。

有什么想法吗?

UITableViewController:

   let cell = tableView.dequeueReusableCellWithIdentifier("chatcell", forIndexPath: indexPath) as? PTATableViewCell
cell.delegate = self



cell.setPanGesture(.LeftToRight, mode: .Exit, color: UIColor.whiteColor(), view: viewWithImage(named: "infostart"))

cell.leftToRightAttr.triggerPercentage = 0.4
cell.leftToRightAttr.rubberbandBounce = false
cell.leftToRightAttr.viewBehavior = .DragWithPan


let targetObject = rooms[indexPath.row] as PFObject
let targetUser = users[indexPath.row] as PFUser

let mm = rooms[indexPath.row]
cell.mesaj.text = mm.objectForKey("Message") as! String
cell.timeAgo.text = "\(targetObject.updatedAt!.formattedAsTimeAgo())"

let userget = PFUser.query()
userget!.whereKey("objectId", equalTo: targetUser.objectId!)
userget!.findObjectsInBackgroundWithBlock { (objects, error) -> Void in
if error == nil {
if let fUser = objects!.last as? PFUser {
let namee = fUser.objectForKey("name") as! String
let agee = fUser.objectForKey("age") as! Int
cell.nameUser.text = "\(namee), \(agee)"
if let pica = fUser.objectForKey("dpSmall") as? PFFile {
pica.getDataInBackgroundWithBlock({ (data:NSData?, error:NSError?) -> Void in
if error == nil {
cell.userdp.image = UIImage(data: data!)
cell.userdp.layer.borderColor = colorText.CGColor
circleBorder(cell.userdp)
}
})

自定义 View 单元:

public override func prepareForReuse() {
super.prepareForReuse()
nameUser.text = "Loading..."
userdp.image = nil
timeAgo.text = nil
mesaj.text = nil
likedtext.text = nil
removeSwipingView()
stateOptions = .None
leftToRightAttr = PTATableViewItemStateAttributes()
rightToLeftAttr = PTATableViewItemStateAttributes()
}

最佳答案

TableView 中的单元格被重复使用。由于您在后台获取新图像和用户名,因此将显示单元格的先前内容(正在重用),直到获取并替换新内容。请注意如何在单元格上同步设置消息和时间(在本例中,不在 findObjectsInBackgroundWithBlock 回调内),这就是它起作用的原因。

关于ios - Swift - 单元格在更新正确数据之前显示错误数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34712247/

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