美文网首页
开发笔记之-xib和UIStoryboard继承

开发笔记之-xib和UIStoryboard继承

作者: Tiger_iOS开发 | 来源:发表于2022-01-20 20:32 被阅读0次

    场景:开发的时候想用同样的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];

    相关文章

      网友评论

          本文标题:开发笔记之-xib和UIStoryboard继承

          本文链接:https://www.haomeiwen.com/subject/xvfshrtx.html