目的
我们的目的是自定义Class模板,在MVC架构下,常常大量需要编写注释或mark的是臃肿的ViewController
因此就自定义ViewController
的模板吧,反正这些注释和mark总得写,不是偷一下懒好了
我们需要的模板大概是这样的
#import "CustomTemplateVC.h"
@interface CustomTemplateVC ()
@end
@implementation CustomTemplateVC
#pragma mark - 控制器生命周期
- (void)viewDidLoad {
[super viewDidLoad];
[self setupUI];
}
- (void)viewWillAppear:(BOOL)animated {
[super viewWillAppear:animated];
}
- (void)viewWillDisappear:(BOOL)animated {
[super viewWillDisappear:animated];
}
#pragma mark - 创建视图
- (void)setupUI {
}
#pragma mark - 网络层
#pragma mark - 公开方法
#pragma mark - 私有方法
#pragma mark - 事件
#pragma mark - 懒加载
@end
找到我们创建模板所在的位置
首先定位到XCode包内容中的模板文件夹下
Macintosh HD ▸ 应用程序 ▸ Xcode ▸ Contents ▸ Developer ▸ Platforms ▸ iPhoneOS.platform ▸ Developer ▸ Library ▸ Xcode ▸ Templates ▸ File Templates ▸ Source ▸ Cocoa Touch Class.xctemplate
这个Cocoa Touch Class
即我们常见的
该目录下的这些模板就是我们常用的一些Class,这些Class创建时会自定帮我们编写好一些代码
我们要创建的自定义ViewController
模板和UIViewController
模板最为相似,因此我们可以拷贝一份UIViewControllerObjective-C中的文件
到我们自定义模板文件KZViewControllerObjective下
关于__FILEBASENAME__.h中的继承关系
___VARIARBLE_cocaTouchSubClass___,即我们创建该类是自动继承的类型,系统会自动去TemplateInfo.plist
中找到对应类名的继承类,TemplateInfo.plist
后面还会再次提到
这里先把继承类直接改为UIViewController
即可
关于__FILEBASENAME__.m中的模板代码
只需要修改@implementation
中的代码,改为我们所需的模板代码即可
到这里已经把模板所需的文件准备好,现在只需要在上面提到过的TemplateInfo.plist
中配置好即可
TemplateInfo.plist
中我们需要配置3个地方
第三点中的cocoaTouchSubclass
即我们刚才修改为UIViewController
的地方,如果不修改,那么在以KZViewController
为Subclass创建UIViewController
时,就会自动继承KZViewController
,而实际并没有这个类
tips:如果直接打开TemplateInfo.plist
无修改权限的话,就在terminal中强行修改sudo vim TemplateInfo.plist
顺带一提的代码块自定义
使用<#name#>
可以制作类似XCode自带的if for
等可以修改关键字的代码块模板