iOS业务解耦之启动布局AppDelegate拆分

解决AppDelegate.m内部代码过于臃肿的问题

  • 绝大多数的项目AppDelegate.m内都有冗长臃肿的代码
  • 多种与启动相关的业务代码相互混淆在一起
  • 可读性差,不方便管理,高耦合

解决方案

  • 根据业务种类的不同创建一一对应的分类管理
    以配置rootController与推送业务为例子
1.创建AppDelegate分类
root.png
push3F427D0.png
2.在AppDelegate分类内实现业务逻辑
10001-8C24-30A8415130EE.png
#import "AppDelegate.h"
#import "AppDelegate+RootVIewCtrl.h"
#import "AppDelegate+Push.h"

@implementation AppDelegate


- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
   
    [self configRootView]; //配置window与根控制器相关
    [self configPush]; //配置推送业务相关

    return YES;
}
#import "AppDelegate+RootVIewCtrl.h"

@implementation AppDelegate (RootVIewCtrl)

- (void)configRootView{
    
    self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];
    [self.window makeKeyAndVisible];
    //self.window.rootViewController = rootVC;
}

@end
#import "AppDelegate+Push.h"

@implementation AppDelegate (Push)

- (void)configPush {
    
    //推送配置
    
}

@end

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

相关阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 176,037评论 25 709
  • 在实际的开发过程中,AppDelegate应该除了负责应用生命周期之外,不应该再有多余的责任。但是往往在一个项目的...
    东了个尼阅读 6,882评论 0 6
  • 很多产品会在包装或者产品本身上明显的位置打上品牌的标记,以凸显特点强化用户记忆,但像某雪糕这样把“故事”藏在里面的...
    天使gh阅读 3,060评论 0 1
  • 曾经看到一个电视采访舞蹈家杨丽萍的节目,具体内容记不清了,只记得杨丽萍叙述自己一直在追求梦想,努力练功,最后成为著...
    爱国华阅读 4,119评论 1 1
  • 尝试一下,发现可以,就变得好萌呐!排线这个我还是没做好→_→
    单眼皮的傅少爷阅读 1,873评论 0 1

友情链接更多精彩内容