类类别中的Dealloc方法

时间:2013-06-02 02:55:11

标签: ios objective-c

我一直在寻找一些向UITableView添加类类别的第三方代码;接口添加了三个方法,但实现还包括-dealloc方法的代码(以及其他辅助方法)。

我对类类别并不是非常熟悉 - 除了这看起来像是一件坏事之外,这是否会覆盖所有UITableView实例的-dealloc方法 - 即使该类别未被特定类导入(比如说)一个实例化UITableView的ViewController?

1 个答案:

答案 0 :(得分:15)

抛出代码,因为它显然是垃圾(如果可以的话,发布一个链接到它)。

假设它确实是UITableView上的一个类别,dealloc将有效地替换 - 覆盖,但没有继承 - 该类的正常dealloc,从而保证了不当行为。它不仅会破坏UITableView的所有实例的功能,而且还会破坏所有子类。

即使它不是UITableView上的某个类别,但有些尝试组织代码,但dealloc位于错误的位置。 始终应该在班级的主要@implementation上。就像类集群将在主实现上实现所有原始方法一样 - dealloc是一种非常原始的方法(其中“原始”方法是一种方法,它是类的功能的核心,并且仅以术语实现其他原始方法)。