大佬教程收集整理的这篇文章主要介绍了ios – 如何将子类初始化为正确的类?,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
self.setTingsmanager = [[SPPanelSetTingsmanager alloc] init];
SPPanelManager的目的是进行子类化,并且在我的应用程序中使用子类.例如,有SPGreeTingManager.在SPGreeTingManager的.h文件中,我声明了:
@property (nonatomic,strong) SPGreeTingSetTingsmanager *setTingsmanager;
这使得setTingsmanager属于正确的类.问题是,当初始化SPGreeTingManager子类时,它会调用上面的init方法,并将setTingsmanager初始化为SPPanelSetTingsmanager类,而不是SPGreeTingSetTingsmanager.
Apple使用以下方法将CALayers与UIViews匹配:
基类声明一个返回具体SPPanelSetTingsmanager子类的类方法:
// in SPPanelManager.h + (Class)setTingsmanagerClass;
…哪些子类重写以返回其自定义类:
// in SPGreeTingManager.m + (Class)setTingsmanagerClass { return [SPGreeTingSetTingsmanager class]; }
现在,超类可以实例化设置管理器,如下所示:
self.setTingsmanager = [[[[self class] setTingsmanagerClass] alloc] init];
以上是大佬教程为你收集整理的ios – 如何将子类初始化为正确的类?全部内容,希望文章能够帮你解决ios – 如何将子类初始化为正确的类?所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。