iphone - UITableView 最佳实践

标签 iphone objective-c ios

<分区>

在处理 UITableView 时,为了提高性能、加快处理 UITableView 时的开发和维护,有哪些最佳实践?

最佳答案

这不是第一次在 SO 上提出这个问题。这是我之前对此事的回答:

  • 动态行高很昂贵,因为它无法有效地缓存呈现的 View ,因为运行时在调用之前不知道您将为给定单元格返回什么高度。尽可能不要使用它。 Apple 工程师告诉我,与使用动态高度相比,将所有单元格绘制得比占几行所需的高度高一点会更有效率。
  • -tableView:cellForRowAtIndexPath: 方法中只获取一次数组项 [items objectAtIndex:indexPath.row]
  • 对任何图像或其他网络资源使用缓存。试试 EGOImageView stack ,它有效地缓存了它的图像,并且是一些非常巧妙的代码。
  • 当您在 EGO github 代码中时,获取他们的 EGOCache 并使用它来缓存您需要操作的任何其他对象,例如被解析和修改的字符串
  • 如果您对该单元格的任何看法是透明的,请观看有关 UIKit 性能的 WWDC 2011 视频。他们有一种非常更有效的方法来在 tableview 单元格上绘制透明度
  • 如果您使用的是 Core Data,请在 TableView 中使用 NSFetchedResultsController。它处理加载错误、缓存索引和其他特定于表 ivews 的效率。

另请观看有关使用仪器的 WWDC 视频,他们介绍了如何找到绘图代码降低性能的位置。今年有一些(一些,不是全部)非常棒的 session 。

关于iphone - UITableView 最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6483590/

相关文章:

iphone - 如何缩小 UITableView 中单元格标题和单元格文本之间的间距

objective-c - CABasicAnimation 不会在 viewWillAppear 中触发

ios - 如何修复自定义按钮在 SwiftUI(IOS) 中的交互?

iphone - NSString stringWithCharacters Unicode 问题

iphone - 自上次在 iOS 中打开应用程序已有多长时间?

ios - MobileVLCKit 播放视频流不显示

ios - 使 Theos Hook 到类的特定类别

ios - 在 7.1 设备 swift xcode6 beta 3 上调试时出错

ios - 过滤选项卡栏 Controller 中的选项卡?

ios - iPhone 的 "em"断点是什么? (不是 px 大小)