使用大量单元格优化UIViewTable

时间:2014-06-24 12:20:45

标签: ios uitableview optimization

我有一张桌子,里面最多有1600个单元格,每个单元格包含一行文字和一张图片。正如您可能预期的那样,滚动时非常迟钝。如何制作不可见的细胞(例如距离可见的2个屏幕)卸载自己?还有其他方法可以减少滞后吗?

更新单元格的代码:

func tableView(tableView: UITableView!, cellForRowAtIndexPath indexPath: NSIndexPath!) -> UITableViewCell!{
    var cell: UITableViewCell = tableView.dequeueReusableCellWithIdentifier(cellIdentifier) as UITableViewCell
    var item = receivedData[indexPath.row] as NSDictionary
    var imgURL:NSURL = NSURL(string: item["url"] as NSString)
    var imgData = NSData(contentsOfURL: imgURL)
    cell.image = UIImage(data: imgData)
    cell.text = item["name"] as NSString
    return cell
}

1 个答案:

答案 0 :(得分:1)

  1. 从它的外观来看,在cellForRowAtIndexPath方法中使用 cellIdentifier ,因为 cellIdentifier 没有静态声明。

  2. 在viewDidLoad中注册小区标识符。

    • (void)registerClass :( Class)cellClass forCellReuseIdentifier:(NSString *)identifier;
  3. 检查细胞是否被重复使用。