let cell = tableView.dequeueReusableCellWithIdentifier("cellReuseIdentifier", forIndexPath: indexPath) as! CustomTableViewCell
创建单元格后,我不想重复使用单元格, 我想让它在内存中可用。
答案 0 :(得分:12)
这当然是你的决定,但这是一个 非常糟糕 的想法。除非您tableView
中的单元格少于10个,否则您将100%确定不再有单元格。否则,应用程序将在内存压力下快速崩溃。
不要dequeue
单元格。每次都创建新的:
let cell = UITableViewCell(style: UITableViewCellStyle.default, reuseIdentifier: "CellReuseIdentifier")
不推荐,但毕竟这是你的决定。
答案 1 :(得分:0)
如果你的细胞数量有限,那么只有你应该使用这种方法
在viewDidLoad()上,您可以创建自定义单元格的NSArray
self.arrMainCell.addObject(your custom cell);
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return self.arrMain.count
}
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = self.arrMain.objectAtIndex(indexPath.row)
}
答案 2 :(得分:0)
在运行时需要单元格对象时,请调用表视图的dequeueReusableCell(withIdentifier:for :)方法,并传递所需单元格的重用标识符。 表视图维护一个已创建单元格的内部队列。
如果队列包含所请求类型的单元格,则表视图将返回该单元格。 如果不是,它将使用情节提要中的原型单元创建一个新单元。重用单元格可以通过在关键时刻(例如在滚动过程中)最小化内存分配来提高性能。
如果您更改自定义单元格视图的外观, 实现您的单元格子类的prepareForReuse()方法。 在您的实现中,将单元格视图的外观恢复为其原始状态。 例如,如果您更改单元格中视图的alpha属性,则将该属性恢复为其原始值
答案 3 :(得分:0)
不要使用表格视图。只需使用滚动视图。如果列表很长,无法将所有视图保存在内存中,请使用 tableview。