从UITableView注销UINib

时间:2016-05-10 19:41:06

标签: ios swift uitableview

是否有办法取消注册已注册的UINib UITableViewCell

我的注册UINib UITableViewCell存在内存问题。当我的UITableViewController从屏幕弹出时,UINib UITableViewCell仍在内存中。

我该怎么做呢?

 tableView.registerNib(UINib(nibName: "LoadingTableViewCell", bundle: nil), forCellReuseIdentifier: "LoadingCellIdentifier")

1 个答案:

答案 0 :(得分:1)

默认情况下缓存UINib为

  

UINib类的实例充当对象包装器或容器,   用于Interface Builder nib文件。 UINib对象缓存内容   内存中的nib文件,可用于取消归档和实例化。什么时候   您的应用程序需要实例化它的nib文件的内容   可以这样做,而无需先从nib文件加载数据,   改善表现。 UINib对象可以自动释放它   缓存的nib数据为你的应用程序释放内存   低内存条件,下次再重新加载数据   应用程序实例化笔尖。

在内存不足的情况下,它们会自动从缓存中删除 注册只是一种简单的方法来回忆你需要避免在其中放入大量样板代码的单元格。tableView(_:cellForRowAt:),没有办法取消注册,我很确定没有必要。
如果您遇到内存问题,我确定您正在处理大量图像,当然,您的问题的答案取决于您如何摆脱它们。
请发布您的代码,明天我会更有帮助。