1畅哑、前言
首先聲明,我不是架構(gòu)師水由,也不是什么大牛荠呐,我只是和大部分人一樣都是程序員。差不多到年底了砂客,公司的業(yè)務(wù)也比較少泥张,所以今天想寫一個關(guān)于聊天的app,以后會更新地圖鞠值、定位媚创、美顏、音樂播放器彤恶、視頻播放器钞钙、直播等都會在此app中涉及到。
2声离、新建工程
1芒炼、選擇Single View App點(diǎn)擊Next在Product Name一列中輸入App應(yīng)用名稱,創(chuàng)建并保存路徑术徊。
2本刽、刪除不必要的文件
3、配置項(xiàng)目支持版本已經(jīng)啟動方式
4赠涮、添加支持http訪問, 添加方式如下
5子寓、關(guān)于白名單等配置在以后會持續(xù)更新
3、項(xiàng)目結(jié)構(gòu)
Class 主要存放開發(fā)中的頁面笋除,包括 控制器别瞭、模型、視圖株憾,遵循MVC開發(fā)模式蝙寨,這個項(xiàng)目我就沒有用RAC+MVVM開發(fā)了晒衩,怎么簡單怎么來,哈哈墙歪。
Expand 主要存放開發(fā)中用到的 分類听系、網(wǎng)絡(luò)請求、數(shù)據(jù)庫虹菲、宏靠胜、工具類、常量毕源。
Vender 主要存放用CocoaPods不能導(dǎo)入的第三方庫浪漠。
Other 主要存放 AppDelegate、Info.plist霎褐、Assets址愿、Main、LaunchScreen
Resource 主要存放 圖片冻璃、plist 等資源响谓。
4、AppDelegate分類管理
在項(xiàng)目越來越大的時候省艳,AppDelegate回顯得額外的臃腫娘纷,所以我這里單獨(dú)抽出兩個分類對AppDelegate進(jìn)行管理
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進(jìn)行初始化
5赖晶、總結(jié)
在后面我會更新如何統(tǒng)一管理TabBar+Nav的組合,
最后附上Demo地址: GitHub地址