我应该选择哪一个,子类或类别

时间:2016-10-13 11:24:49

标签: ios objective-c uikit categories subclassing

我有UIlabel并且包含很少的自定义。这个标签在我的应用程序中用于很多屏幕。我尝试了原型中的子类化和类别。 在这种情况下,这是首选使用的。子类或类别。

2 个答案:

答案 0 :(得分:2)

场景 - 1:如果要在UI对象的生命周期中更改作为框架调用的一部分而发生的事情? - 使用子类

场景 - 2:如果您想要应用程序范围内的东西,除了现有功能之外还有其它东西,并且您不关心这是否可用于此预先存在的框架类实例的所有实例? - 使用类别

答案 1 :(得分:0)

您应该使用Subclassing代替category。当您想要改变每个类实例的行为时,应使用Category,而当您想要改变特定实例或对象的行为时,应使用Subclassing

在某些情况下,类别也是有害的,因为你操纵现有的类,所以最好尽可能使用Subclassing !!