更好的方法来隐藏一个没有条件的单元格(UITableView)

时间:2016-01-05 21:02:48

标签: ios swift uitableview

我目前有一个UITableView,它隐藏了不在半径(slider double)内的单元格。我这样做是通过设置距离然后设置与if语句匹配的单元格的高度为return 0。然而,这引发了一系列约束错误,我不相信这是最好的方法。

所以我的问题是,是否有更好的清洁和更优雅的方法来实现相同的效果,隐藏细胞结果?

当前身高功能

func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat {

        if userCurrentLocation != nil {
            let cellData = cacheData[indexPath.row]
            //let radius: Double = radiusSliderValue

            if cellData.distance > radiusData.radiusValue {
                return 0
            }
        }

1 个答案:

答案 0 :(得分:3)

更好的方法是在加载tableview之前进行所有距离计算,然后只将有效数据放入tableview工作的不同数组中,这样你才能呈现有效的行

如果在加载了tableview后数据可能会更改,并且您不想重新加载整个表,则可以在tableview上使用picklemultiprocessing来添加新行。