iOS 搭建框架简述 —— HERO博客

来源:互联网 发布:牛乳のみお js 编辑:程序博客网 时间:2024/05/29 14:30

简述搭建一个项目框架的流程:


1. 新建工程,填写设置项目名称、组织、语音、设备等基本信息。



2. 删除不必要文件

2.1 选中文件ViewController.h、ViewController.m、main.storyboard(博主习惯纯代码开发),delete。

2.2 修改Info.plist文件。

2.2.1 删除key:Main storyboard file base name对应的value:Main,告诉系统不用故事板。

2.2.2 同时根据需求添加、删除、修改其他键值。如添加key:View controller-based status bar appearance,对应的value:NO,使application对状态栏设置的优先级高于控制器。



3. 建立目录文件夹,右键Show in Finder,找到根路径后在创建文件夹,拖入项目中添加。直接New Group后Show in Finder会发现根路径找不到你创建的文件夹。这里博主建了第三方库、分类、通用工具、基类、主文件、项目模块和图片文件夹。

3.1第三方库文件夹:添加所需要的第三方库(当然也可以通过CocoaPods添加),我这里添加了一个比较好用网络请求库AFNetworking,和一个键盘滑动时输入框自动上移IQKeyboardManager。

3.2分类文件夹:分类看项目需求了,博主这里扩展了几个偶尔用的到的,如通过UIColor获取UIImage、通过16进制字符串获取UIColor。

3.3通用工具文件夹:通用工具添加了频繁使用的工具,如网络请求、消息弹窗等。

3.4 基类文件夹:创建父类,写入公共代码供子类调用。

3.5 主文件夹:这个博主习惯放启动、登录、导航、tabbar之类的。

3.6 项目模块文件夹:根据模块创建文件夹,内部根据MVC再创建文件夹

3.7 图片文件夹:当然存放图片了,内部可以根据不同模块再创建文件夹,命名如tabbar_home_nor容易查找修改。



4. 创建PCH全局引用文件,导入相关头文件,进行所需要的宏定义。

#ifndef HWExercises_prefix_pch#define HWExercises_prefix_pch#import "AFNetworking.h"#import "HWProgressHUD.h"#import "UIImage+HW.h"//获取屏幕宽高#define KMainW [UIScreen mainScreen].bounds.size.width#define KMainH [UIScreen mainScreen].bounds.size.height//判断机型、系统#define IS_IPHONE_5 (KMainH == 568.0)#define IS_IPHONE_6 (KMainH == 667.0)#define IS_IPHONE_6P (KMainH == 736.0)#define ISIOS8 ([[[UIDevice currentDevice] systemVersion] floatValue] >= 8.0 ? YES : NO)#define ISIOS10 ([[[UIDevice currentDevice] systemVersion] floatValue] >= 10.0 ? YES : NO)//根据一种屏幕尺寸开发,等比缩放到其他尺寸(如:375为4.7寸屏)#define KScreenRate (375 / KMainW)#define KSuitFloat(float) (float / KScreenRate)#define KSuitSize(width, height) CGSizeMake(width / KScreenRate, height / KScreenRate)#define KSuitPoint(x, y) CGPointMake(x / KScreenRate, y / KScreenRate)#define KSuitFrame(x, y, width, heigth) CGRectMake(x / KScreenRate, y / KScreenRate, width / KScreenRate, heigth / KScreenRate)//block修饰#define weakify(var) __weak typeof(var) weakSelf = var#define strongify(var) __strong typeof(var) strongSelf = var//Debug下输出打印信息,Release下不输出打印信息#ifdef DEBUG#define HWLog(...) NSLog(__VA_ARGS__)#else#define HWLog(...)#endif#endif /* HWExercises_prefix_pch */

5. 在AppDelegate.m中初始化窗口,设置根控制器。接下来就可以在控制器书写相关代码了。

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {    self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];    self.window.rootViewController = [[UINavigationController alloc] initWithRootViewController:[[HWLuanchVC alloc] init]];    [self.window makeKeyAndVisible];        return YES;}

以上,一个简单的框架就搭建好了,当然,这只是一个简单的骨架,还需要很多填充。

Demo下载链接:http://code.cocoachina.com/view/135115

写博客的初心是希望大家共同交流成长,博主水平有限难免有偏颇之处,欢迎批评指正。


原创粉丝点击