我的问题可能很愚蠢,但是,我很想知道更好的方法。当在许多UICollectionView
中使用相同的复杂单元时,最好创建一个tableViews
子类。
但是,如果想要使用Prototype单元格,只需复制粘贴UITableViewCell
中的单元格,是否会有区别?是否会对内存消耗产生影响?
答案 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"];