我正在创建自定义UITableViewCell的子类。超类具有一些在dealloc方法中释放的属性。我在我的子类中添加了一个额外的属性,所以我确保覆盖dealloc方法并释放我的新属性。
我的问题是,既然我重写了dealloc方法,那么超类dealloc方法中释放的属性是否会被释放(我调用[super dealloc])?我需要在MY dealloc方法中专门发布那些吗?
答案 0 :(得分:7)
如果您正在调用[super dealloc]
,那么-dealloc
的超类实现仍将运行。超类应该负责释放自己的属性。所以不,您不需要释放超类属性。事实上,这样做可能会导致您的应用程序崩溃。
答案 1 :(得分:2)
如果你打电话给[super dealloc]
,你没事。该方法不知道它是由子类调用还是由运行时直接调用,它将执行其通常的工作并一如既往地处理自己的属性。
答案 2 :(得分:2)
重要提示:在您使用自己的ivars之后,在-dealloc方法中最后调用[super dealloc]
,并在-dealloc中完成您需要执行的任何操作。当该方法返回时,您的对象将不会有任何内容。