我在tableView上添加了一个复选标记附件,代码如下: -
override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath){
if (PFUser.currentUser()?.objectForKey("userType")) as? String != "Std"{
let cell = tableView.cellForRowAtIndexPath(indexPath) as! UsersTableViewCell
if (cell.accessoryType == UITableViewCellAccessoryType.Checkmark){
cell.accessoryType = UITableViewCellAccessoryType.None;
selectedTextLabels[indexPath] = nil
}else{
cell.accessoryType = UITableViewCellAccessoryType.Checkmark;
if (cell.accessoryType == UITableViewCellAccessoryType.Checkmark){
if let Id = cell.channelIDLbl?.text {
selectedTextLabels[indexPath] = Id
}
}
}
favoriteValues = Array(selectedTextLabels.values)
print("\(favoriteValues) outside")
}
}
它在第一次点击时工作正常我能够分配一个复选标记并再次点击相同的单元格根据需要删除该复选标记但问题是当我使用搜索功能时这个复选标记只是卡在他们的索引上(搜索结果是更新但不是附件)可能是因为这行selectedTextLabels[indexPath]
而发生,因为我在选定的indexPath上添加附件而不是单元格内的值,所以如何在值上添加此附件而不是{{ 1}}还是有其他方法可以做到这一点?如果有人知道那么请指导我
P.S。 - 如果我的问题的详细信息不够,那么请告诉我我会解决它,谢谢:)
答案 0 :(得分:0)
注意单元格的重复使用。如果你上下滚动表格视图,可能是单元格改变了。这是因为单元格上的数据在重复使用时不会被清理。换句话说,你不应该'如果您没有意识到“准备重用”方法,请检查单元格的数据。(在此方法中,这是清理数据的最佳时间)