在Cocoa中继承类

时间:2011-05-17 09:33:05

标签: cocoa-touch

我的问题是:为什么Apple禁止某些类被子类化,例如MKMapView?

请问这是什么原因?

感谢您的回答

1 个答案:

答案 0 :(得分:1)

简短的回答是,尽管它们看起来像普通的课程,但它们可能不是。这意味着在不知道如何实现它们的情况下对它们进行子类化可能不会达到您所期望的效果。

有些像集合类一样,可以子类,但是你需要遵循一些记录的规则。还有一些人只是说“不要”。我见过开发人员忽略这个建议只是为了发现他们的应用程序在下一次iOS更新时中断。

好消息是这些类的实现方式通常意味着如果你试图将它们子类化,那么你可能做错了。 Cocoa在很大程度上依赖于委托和组合,这意味着您倾向于将系统组件子类化的频率远低于其他框架(如Java和.Net)。