业务中是否有必要让所有的ViewController统一继承抽象类

本文探讨了在iOS应用开发中,如何通过方法swizzling和类别Category实现ViewController的统一配置和拓展,降低集成成本和维护难度,提升开发效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

797099-20160527202106584-76116723.gif

疑问来自:这里

1.事出有因

其中博主说道的情况我其实也经历过,当时还在找到一个模式可以改变这样的情况。直到有一天看到这个博客,今天晚上有时间来规整一下博主的思路和写了一个测试代码。

这是我目前的App结构中VIewController的抽象类:

797099-20160417215402379-1146457950.png

目前对我来说存在(博主说了三个问题,2.上手接受成本 3.架构的维护难度)

  • 集成成本
    在开发的过程中,都会有些demo测试一些新的需求和功能,当把demo中的源代码转移到工程中,就需要修改成统一的VIewController。

2.解决方案

想:
我们应当解决什么样的问题?
答:
1.不在继承的情况下,对VIewController进行统一配置。
2.不再继承的情况下,对ViewController进行拓展方法。

想:
如何解决上述两种需求?
答:
1.针对统一配置方法,可以替换+laod函数来进行method swizzling,达到神不知鬼不觉的配置VIewController。
2.不继承的情况下对VIewController进行方法进行拓展,很容易想到了类别Category,这种以组合的拓展方法代替继承拓展的方法。

备注:面向方向编程思想,可以使用这个库:github地址

3.国际惯例,测试代码

转载于:https://www.cnblogs.com/R0SS/p/5402345.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值