这可能是一个直截了当的答案,而且我知道在创建新类时不必将 NSObject 设置为超类。
但是,例如,我想创建一个包含一组自定义 CABasicAnimations 的类。虽然我可以使用 CABasicAnimation 作为超类,但是否建议我遵循不成文的规则仍然使用 NSObject 或者如果你正在编写这样的类,你会使用 CABasicAnimation 作为超类吗?
我认为只要类只包含与 CABasicAnimation 相关的属性和方法,这并不重要。
在这里你的想法会很有趣!
这可能是一个直截了当的答案,而且我知道在创建新类时不必将 NSObject 设置为超类。
但是,例如,我想创建一个包含一组自定义 CABasicAnimations 的类。虽然我可以使用 CABasicAnimation 作为超类,但是否建议我遵循不成文的规则仍然使用 NSObject 或者如果你正在编写这样的类,你会使用 CABasicAnimation 作为超类吗?
我认为只要类只包含与 CABasicAnimation 相关的属性和方法,这并不重要。
在这里你的想法会很有趣!
规则是对您尝试扩展的任何对象进行子类化。NSObject 用于许多子类,因为它是根对象,但如果我要编写一个与 NSTableView 非常相似的类,那么我会继承 NSTableView。
在您的情况下,如果您正在编写要调用的自定义动画,那么您应该考虑从 CABasicAnimation 继承。另一方面,如果你的动画真的只是预先存在的 CA 动画的集合,那么 NSObject 就可以了。
一个包含一组自定义 CABasicAnimations 的类。
在这种情况下,我想使用Category而不是Subclass。