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

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

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

解决方案

  • 根据业务种类的不同创建一一对应的分类管理
    以配置rootController与推送业务为例子
1.创建AppDelegate分类
iOS业务解耦之启动布局AppDelegate拆分_第1张图片
root.png
iOS业务解耦之启动布局AppDelegate拆分_第2张图片
push3F427D0.png
2.在AppDelegate分类内实现业务逻辑
iOS业务解耦之启动布局AppDelegate拆分_第3张图片
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

你可能感兴趣的:(iOS业务解耦之启动布局AppDelegate拆分)