懒是伪·工程师前进的第一动力!
闲言少叙,废话少说,这便上方案.(前面内容是为了把文章系统化,大佬请茶座休憩🍵)
一、为什么要自定义新建文件模板(Why)?
废话,当然是系统自带的不够用啦(内容不足够丰富,代码不足够美观等等等等)。
在实际开发中,我们新建的类(例如ViewController)经常要继承自父类,然后实现一些基础通用的代码,而这部分最初的代码往往又相去无几。如果用系统模板创建,往往耗时费力,且毫无意义(这本是模板应该做的事)。
二、如何自定义新建文件模板(How)?
注:新增即可,替换慎用!!!
以修改UIViewController模板为例,具体步骤如下:
1、定位
定位系统模板文件,依次打开如下目录:/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Templates/File Templates/Source/Cocoa Touch Class.xctemplate(->UIViewControllerObjective-C 注:前面的目录就是所有文件模板的目录了,这个是UIViewController OC对应的模板。)。或者直接在finder按command+shift+G,然后复制地址进入.
2、复制
在目录/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Templates/File Templates/下新建一个文件夹(这里就是命名分类,此处命名为:baseClass),复制该目录下的Source文件夹中的Cocoa Touch Class.xctemplate目录进刚刚新建的目录下(baseClass).
3、修改
复制完成后,依次打开新建目录(baseClass)下的baseClass/Cocoa Touch Class.xctemplate/UIViewControllerObjective-C,该目录下的.h和.m文件即可进行编辑。
FILEBASENAME.h文件内容如下:
//___FILEHEADER___
___IMPORTHEADER_cocoaTouchSubclass___
NS_ASSUME_NONNULL_BEGIN
@interface___FILEBASENAMEASIDENTIFIER___ : ___VARIABLE_cocoaTouchSubclass___
@end
NS_ASSUME_NONNULL_END
可以通过修改其中的VARIABLE_cocoaTouchSubclass来实现继承自己的base父类,也可自行编辑其他内容以实现自定义需求。
FILEBASENAME.m文件内容如下:
//___FILEHEADER___
#import "___FILEBASENAME___.h"
@interface___FILEBASENAMEASIDENTIFIER___ ()
@end
@implementation___FILEBASENAMEASIDENTIFIER___
- (void)viewDidLoad {
[superviewDidLoad];
// Do any additional setup after loading the view.
}
/*
#pragma mark - Navigation
// In a storyboard-based application, you will often want to do a little preparation before navigation
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
// Get the new view controller using [segue destinationViewController].
// Pass the selected object to the new view controller.
}
*/
@end
注:下面这几行不可修改,新增需要的内容即可。
#import "___FILEBASENAME___.h"
@interface___FILEBASENAMEASIDENTIFIER___ ()
@end
@implementation___FILEBASENAMEASIDENTIFIER___
可以在其中引入头文件,进行通用代码的编辑以实现通用的逻辑。
三、自定义模板的使用(Use)。
1、打开任意项目,点击左上角File。依次选择New->File,如下图所示:
image2、在弹出来的窗口中选中IOS选项卡,上翻,定位到BaseClass位置,如下图所示:
image3、选中Cocoa Touch Class,单击next,打开如图所示的界面:
image4、新建的UIViewController均为定制后的了。
备注:1)、其他等效的新建文件的方法均可。2)、无需担心每次都要翻到BaseClass,XCode会记住你的选项哦。3)、其他类的定义也可以遵循此法。
网友评论