UITableViewCell 子类中的 Outlet 为 nil
我正在创建 UITableViewCell 的自定义子类。我将插座声明为 UILabels、UIImageViews 等的属性。我是否应该在某处将这些插座设置为 nil?在UIViewController的子类中,有viewDidUnload对,但是UITableViewCells有类似的东西吗?谢谢。
I'm creating a custom subclass of UITableViewCell. I have outlets declared as properties for UILabels, UIImageViews, etc. Am I supposed to set these outlets to nil somewhere? In subclasses of UIViewController, there's the viewDidUnload right, but is there something similar for UITableViewCells? Thanks.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
UITableViewCell 是 UIView 的子类,因此您可以以相同的方式处理清理。但请记住,当表格滚动时,单元格会被重用,因此您可能需要设置prepareForReuse方法,具体取决于您正在执行的操作。
UITableViewCell is a subclass UIView, so you'd handle clean-up the same way. But remember cells get reused as the table is scrolled, so you may need to setup the prepareForReuse method, depending on what you're doing.
根据您设置属性的方式(保留、强、分配等),您将需要释放 i-var 并在子类的 dealloc() 方法中设置为 nil。
就是这样。如果 tableCell 通过重用被 tableView 重用,那么当需要相同类型的单元格时,它仍然可以被重用。在这种情况下,如果它正在等待重用,它仍然在内存中并且不会被释放。
祝你好运。
Depending on how you setup up your properties(retain, strong, assign, etc.), you will want to release the i-var and set to nil in the subclasses' dealloc() method.
That's about it. If the tableCell is being reused by the tableView via reuse, then it will remain available to be reused when a cell of the same type is needed. In which case if it is waiting around to be reused, it is still in memory and not deallocated.
Good luck.