开发笔记之-xib和UIStoryboard继承

场景:开发的时候想用同样的xib或者UIStoryboard来实现不一样的业务逻辑,又不想改动原来的代码,平常我们想的是重新复制一份,来修改实现,但是这样会有重复文件和代码的出现,如果要是使用继承的话就完美了,那么xib和storyboard要怎继承呢?

实现:多的不说,少的不唠,直接上代码:

xib继承

 SubViewController : ViewController//子控制器继承父类,子控制器实现不同的业务逻辑

SubViewController *vc = [[SubViewController alloc] initWithNibName:@"ViewController" bundle:nil];//子控制器加载父类的xib,子控制器就不用另外创建xib了

[self.navigationController pushViewController:vc animated:YES];

UIStoryboard继承(同理)

 SubViewController : ViewController//子控制器继承父类,子控制器实现不同的业务逻辑

ViewController*vc = [[UIStoryboard storyboardWithName:@"ViewController" bundle:nil] instantiateViewControllerWithIdentifier:@"ViewController"];//拿到父类的storyboard

object_setClass(vc,[SubViewController class]);//重点来了考试要考:(跳转到自己要实现需求的子类,加载父类的storyboard,此处运用运行时,把父类交换成子类对象,然后跳转)

[self.navigationController pushViewController:vc animated:YES];

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容