真实多项目开发之工程目录结构

1、前言

首先声明,我不是架构师,也不是什么大牛,我只是和大部分人一样都是程序员。差不多到年底了,公司的业务也比较少,所以今天想写一个关于聊天的app,以后会更新地图、定位、美颜、音乐播放器、视频播放器、直播等都会在此app中涉及到。

2、新建工程

1、选择Single View App点击NextProduct Name一列中输入App应用名称,创建并保存路径。
2、删除不必要的文件
Snip20180202_23.png
3、配置项目支持版本已经启动方式
Snip20180202_24.png
4、添加支持http访问, 添加方式如下
Snip20180202_25.png

Snip20180202_27.png
5、关于白名单等配置在以后会持续更新

3、项目结构

Class 主要存放开发中的页面,包括 控制器、模型、视图,遵循MVC开发模式,这个项目我就没有用RAC+MVVM开发了,怎么简单怎么来,哈哈。
Expand 主要存放开发中用到的 分类、网络请求、数据库、宏、工具类、常量
Vender 主要存放用CocoaPods不能导入的第三方库。
Other 主要存放 AppDelegate、Info.plist、Assets、Main、LaunchScreen
Resource 主要存放 图片、plist 等资源。

Snip20180202_29.png

4、AppDelegate分类管理

在项目越来越大的时候,AppDelegate回显得额外的臃肿,所以我这里单独抽出两个分类对AppDelegate进行管理

AppDelegate+AppService //用于管理以及初始化第三方基本配置
AppDelegate+RootController //用于管理以及初始化根视图控制器

4.1、普遍的纯代码初始化

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    
    self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];
    self.window.backgroundColor = [UIColor whiteColor];
    
    UIViewController *vc = [[UIViewController alloc] init];
    vc.view.backgroundColor = [UIColor orangeColor];
    
    self.window.rootViewController = vc;
    [self.window makeKeyAndVisible];

    return YES;
}

4.2、用AppDelegate+RootController进行初始化

Snip20180202_33.png

Snip20180202_34.png

5、总结

在后面我会更新如何统一管理TabBar+Nav的组合,
最后附上Demo地址: GitHub地址

你可能感兴趣的:(真实多项目开发之工程目录结构)