iPhone UITableViewCell性能添加多个视图与使用drawRect添加一个视图

iPhone UITableViewCell性能添加多个视图与使用drawRect添加一个视图,iphone,uitableview,uiimage,uilabel,drawrect,Iphone,Uitableview,Uiimage,Uilabel,Drawrect,我正在创建一些UITableViewCells,其中包含几个自定义项,我的问题是要走什么路线: 1) 将我需要的所有内容作为单独的视图添加到contentView中,使用UILabels作为文本,使用UIImageViews作为图像(当前使用此选项) 或 2) 将单个子类视图添加到contentView,将所有我的文本添加为NSString,然后添加我的图像和UIImages,并在drawRect中绘制所有内容 在我看来,除非您在contentView中实际绘制线条或其他东西,否则简单地使用选项

我正在创建一些
UITableViewCells
,其中包含几个自定义项,我的问题是要走什么路线:

1) 将我需要的所有内容作为单独的视图添加到contentView中,使用
UILabels
作为文本,使用
UIImageViews
作为图像(当前使用此选项)

2) 将单个子类视图添加到contentView,将所有我的文本添加为
NSString
,然后添加我的图像和
UIImages
,并在drawRect中绘制所有内容

在我看来,除非您在contentView中实际绘制线条或其他东西,否则简单地使用选项1会更容易,根据这一点,尽管它有点旧,但效率更高,所以我不知道这是否发生了变化


那么,什么对性能更有利?在哪种情况下,您肯定会使用一种优于另一种?

从使用单独的UILabel和UIImageView的第一种方法开始。在实际设备上进行测试,并在发现性能问题时进行优化

根据我选择的内容,选项1比在一个视图中绘制所有内容都要快。尤其是当视图必须绘制图像时。UIImageView由苹果公司进行了大量优化


获取性能指标的一个好方法是核心动画工具

我认为自己画文本会稍微更有效率。然而,只要你保持所有标签的背景不透明,我怀疑差异是否足够重要,所以选择最容易编程的,避免过早优化

(不透明背景这一点非常重要——具有透明背景的标签是导致表视图效率低下的一个重要原因。即使如此,除非有数百个标签,否则可能不会有太大问题。)