在日常的開發過程中,你會不會有時候感覺,常常會需要重複執行開新檔案
,或者使用重複的變數命名規則?
比方說,要開發一個新的畫面,在MVVM的架構下,就會需要做:
- 新建一個
XYZViewController
。 - 新建一個
XYZViewModel
。 - 在
XYZViewController
裡加入let viewModel: XYZViewModel
。
假設新的需求要10個畫面,以上動作就得重複10次;而如果這10個畫面分給10個人做,有辦法保證大家做出來的結果都一樣嗎?
這邊就要來介紹 Xcode
的 Template
功能,來 加速 / 標準化
這些重複的流程。
今天我們先介紹 Xcode
內建的 Template
。
Build-in templates
其實 Xcode Template
並不是一個新的功能,而且你在平常開發的時候就已經在使用了。
舉例來說,在建立一個新的 UITableViewCell
的時候,我們會在目的路徑點右鍵,選擇 New File...
,接著就會看到以下畫面:
Xcode
就會幫你建立好兩個檔案:
ABCTableViewCell.swift
ABCTableViewCell.xib
並且在ABCTableViewCell.swift
裡,已經幫你帶入預設的class
和function
import UIKitclass ABCTableViewCell: UITableViewCell { override func awakeFromNib() {
super.awakeFromNib()
// Initialization code
} override func setSelected(_ selected: Bool, animated: Bool) {
super.setSelected(selected, animated: animated) // Configure the view for the selected state
}
}
這其實就是 Xcode
內建的 template
,我相信你一定不陌生,只是不知道他是怎麼做的。
那我們用的 UITableViewCell template
到底長怎樣呢?
它藏在一個非常非常深的地方,讓我們打開 Terminal
App,輸入以下指令來尋找:
find {path_to_your/Xcode.app} -name "Cocoa Touch Class.xctemplate"
等待執行完成之後,可以看到找到兩個結果:
{path_to_your/Xcode.app}/Contents/Developer/Platforms/AppleTVOS.platform/Developer/Library/Xcode/Templates/File Templates/tvOS/Source/Cocoa Touch Class.xctemplate
{path_to_your/Xcode.app}/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Templates/File Templates/iOS/Source/Cocoa Touch Class.xctemplate
分別是 tvOS
和 iPhoneOS
的 template
,我們把第二個結果複製,切換到 Finder
,在上方 Menu 選擇 Go -> Go to Folder...
,或者按下 Command + Shift + G
,貼上路徑後按下 Enter,就可以找到 Cocoa Touch Class.xctemplate
。
裡面有包含各種 Cocoa Touch Class
,找到剛剛我們用的 UITableViewCellXIBSwift
,可以看到裡面有一個 .swift
檔案,一個 .xib
檔案,這兩個檔案就是 UITableView
的 template
。
我們把 ___FILEBASENAME___.swift
檔案打開,可以看到裡面內容如下:
//___FILEHEADER___import UIKitclass ___FILEBASENAMEASIDENTIFIER___: ___VARIABLE_cocoaTouchSubclass___ { override func awakeFromNib() {
super.awakeFromNib()
// Initialization code
} override func setSelected(_ selected: Bool, animated: Bool) {
super.setSelected(selected, animated: animated) // Configure the view for the selected state
}
}
是不是和我們在 Xcode
建立 UITableViewCell
的內容有87%像?
看到這邊你已經了解 Xcode
內建的 template
存放的位置,以及檔案的架構。
下一集會來介紹要怎麼建立 自己/團隊 使用的客製化 template
,來幫助你的開發流程。
覺得我的文章有用的話還請不吝鼓掌,也可以 Follow 我來即時取得文章更新通知。
有任何問題歡迎在下面留言討論,感謝大家!