自定义Class模板

目的

我们的目的是自定义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即我们常见的

Source类别下的内容

Cocoa Touch Class.xctemplate目录下

该目录下的这些模板就是我们常用的一些Class,这些Class创建时会自定帮我们编写好一些代码
我们要创建的自定义ViewController模板和UIViewController模板最为相似,因此我们可以拷贝一份UIViewControllerObjective-C中的文件

需要修改的2个文件

到我们自定义模板文件KZViewControllerObjective下

关于__FILEBASENAME__.h中的继承关系

__FILEBASENAME__.h
___VARIARBLE_cocaTouchSubClass___,即我们创建该类是自动继承的类型,系统会自动去TemplateInfo.plist中找到对应类名的继承类,TemplateInfo.plist后面还会再次提到
TemplateInfo.plist
这里先把继承类直接改为UIViewController即可
修改继承的类名

关于__FILEBASENAME__.m中的模板代码
只需要修改@implementation中的代码,改为我们所需的模板代码即可

到这里已经把模板所需的文件准备好,现在只需要在上面提到过的TemplateInfo.plist中配置好即可

TemplateInfo.plist中我们需要配置3个地方
第三点中的cocoaTouchSubclass即我们刚才修改为UIViewController的地方,如果不修改,那么在以KZViewController为Subclass创建UIViewController时,就会自动继承KZViewController,而实际并没有这个类

TemplateInfo.plist
tips:如果直接打开TemplateInfo.plist无修改权限的话,就在terminal中强行修改sudo vim TemplateInfo.plist


顺带一提的代码块自定义

使用<#name#>可以制作类似XCode自带的if for等可以修改关键字的代码块模板

你可能感兴趣的:(自定义Class模板)