UITableViewCell子类或Prototype单元格

时间:2017-04-17 16:39:31

标签: ios objective-c uitableview

我的问题可能很愚蠢,但是,我很想知道更好的方法。当在许多UICollectionView中使用相同的复杂单元时,最好创建一个tableViews子类。

但是,如果想要使用Prototype单元格,只需复制粘贴UITableViewCell中的单元格,是否会有区别?是否会对内存消耗产生影响?

1 个答案:

答案 0 :(得分:2)

创建单独的class + xib文件(例如MyCellUITableViewCell)。将所有复杂的UI / Logic移动到该单元格。然后你可以在每个地方重用这个单元格。只需将nib注册到tableView

即可

例如:

let nib = UINib(nibName: "MyCellUITableViewCell", bundle: nil)
self.tableView.register(nib, forCellReuseIdentifier: "MyCellUITableViewCell")

这样,您可以在多个位置重复使用单元格,而不必在多个位置复制它。

如果您复制单元格,则不会占用更多内存,但应用程序会更重。毕竟,这样你可以保持干燥(不要重复自己)。

我错过了objective-c标志并在Swift 3中写道 - 为Objective-c:

UINib *cellNib = [UINib nibWithNibName:@"MyCellUITableViewCell" bundle:nil];
[self.tableView registerNib:cellNib forCellReuseIdentifier:@"MyCellUITableViewCell"];