使用不同的超类,而不是NSObject

时间:2012-07-18 00:29:21

标签: objective-c class nsobject superclass

这可能是一个直截了当的答案,我知道在创建新类时你没有 将NSObject设置为超类。

但是说,例如,我想创建一个包含一组自定义CABasicAnimations的类。虽然我可能完全可以使用CABasicAnimation作为超类,但是我建议我遵循不成文的规则并仍然使用NSObject,或者如果你正在编写这样的类,你会使用CABasicAnimation作为超类吗?

我认为只要Class只包含与CABasicAnimation相关的属性和方法就无所谓了。

这里你的想法会很有趣!

2 个答案:

答案 0 :(得分:3)

规则是子类化您尝试扩展的任何对象。 NSObject用于许多子类,因为它是根对象,但如果我要编写一个与NSTableView非常相似的类,那么我将继承NSTableView。

在您的情况下,如果您要编写要调用的自定义动画,则应考虑从CABasicAnimation进行子类化。另一方面,如果你的动画实际上只是一个预先存在的CA动画的集合,那么NSObject就可以了。

答案 1 :(得分:1)

一个包含一组自定义CABasicAnimation的类。

在这种情况下,我想使用Category代替子类