在梳理项目结构和架构的过程中发现:需要重复写大量的代码或者项目结构
针对此痛点有两个解决方案:
1.自定义代码块
2.自定义模板
自定义代码块比较简单,这里主要讲解自定义模板
自定义模板如下,经过配置,得到的效果是新建文件可以直接产生如下文件,无需多写重复代码
//
// iComeViewController.m
// iComeKernel
//
// Created by WangQingHua on 2019/7/15.
// Copyright © 2019 XZWL. All rights reserved.
//
#import "iComeViewController.h"
@interface iComeViewController ()
@end
@implementation iComeViewController
#pragma mark - System
- (void)viewDidLoad {
[super viewDidLoad];
[self initData];
[self initUI];
}
#pragma mark - Init Data
- (void)initData {
}
#pragma mark - Init UI
- (void)initUI {
}
#pragma mark - DataSource (数据委托)
#pragma mark --xxxx DataSource
#pragma mark - Delagete (代理理回调)
#pragma mark --xxxx Delagete
#pragma mark - Event (其他类型事件)
#pragma mark --xxxxx Event
#pragma mark - Utility (⼯工具、业务等)
#pragma mark - Reload View (刷新UI⽅方法)
#pragma mark - Request (⽹网络请求⽅方法)
@end
实现以上的效果可以通过自定义ViewController文件模板来实现
一、Xcode的文件模板路径一般在下面这个目录:(我的是Xcode10.0)
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Templates/File Templates/Source/Cocoa Touch Class.xctemplate
如果我们选择创建一个新文件,可以看到每个目录对应的正好是创建文件的不同模块:
在File Templates下面新建一个我们自己的文件夹iComeBaseTemplate。如果要自己创建这些文件模板的话会比较麻烦,所以我们直接从Source文件夹下面,复制一份Cocoa Touch Class.xctemplate到iComeBaseTemplate文件夹中来进行修改,将Cocoa Touch Class.xctemplate改成我们自己的名字,例如:iComeBaseTemplate.xctemplate。进入iComeBaseTemplate.xctemplate可以看到其中有非常多的文件模板:
这里只举例说明ViewController模板怎样生成:
UIViewControllerObjective-C
UIViewControllerSwift
UIViewControllerXIBObjective-C
UIViewControllerXIBSwift
打开文件编辑:
将需要添加的代码结构加进文件中
修改之后保存,在项目中选择创建一个新文件,可以看到下面多出了我们自定义的模板:
选择iComeBaseTemplate,点击Next
在Subclass of中填入iComeBaseViewController,因为我们修改的是不带XIB的模板,所以不要勾选创建XIB的选项,点击Next ,生成的新的文件中,就已经存在我们自己定义的代码模板了。
按照同样的方式,修改其它三个文件夹中的.h和.m文件就可以了。
文件模板创建完毕。