懶是偽·工程師前進的第一動力!
閑言少敘,廢話少說,這便上方案.(前面內容是為了把文章系統(tǒng)化,大佬請茶座休憩??)
一姆泻、為什么要自定義新建文件模板(Why)礼预?
廢話掠兄,當然是系統(tǒng)自帶的不夠用啦(內容不足夠豐富,代碼不足夠美觀等等等等)糜俗。
在實際開發(fā)中捧杉,我們新建的類(例如ViewController)經(jīng)常要繼承自父類,然后實現(xiàn)一些基礎通用的代碼,而這部分最初的代碼往往又相去無幾涂滴。如果用系統(tǒng)模板創(chuàng)建,往往耗時費力晴音,且毫無意義(這本是模板應該做的事)柔纵。
二、如何自定義新建文件模板(How)锤躁?
注:新增即可搁料,替換慎用!!!
以修改UIViewController模板為例,具體步驟如下:
1系羞、定位
定位系統(tǒng)模板文件,依次打開如下目錄:/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來實現(xiàn)繼承自己的base父類,也可自行編輯其他內容以實現(xiàn)自定義需求。
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___
可以在其中引入頭文件,進行通用代碼的編輯以實現(xiàn)通用的邏輯揭蜒。
三横浑、自定義模板的使用(Use)。
1屉更、打開任意項目徙融,點擊左上角File。依次選擇New->File瑰谜,如下圖所示:
2欺冀、在彈出來的窗口中選中IOS選項卡,上翻萨脑,定位到BaseClass位置隐轩,如下圖所示:
3、選中Cocoa Touch Class渤早,單擊next,打開如圖所示的界面:
4职车、新建的UIViewController均為定制后的了。
備注:1)鹊杖、其他等效的新建文件的方法均可悴灵。2)、無需擔心每次都要翻到BaseClass,XCode會記住你的選項哦骂蓖。3)积瞒、其他類的定義也可以遵循此法。