Swift Extension 的 file name(檔名)
Published in
Aug 10, 2020
開發 Swift App 時,我們可以用 extension 擴充型別的功能,比方 App Development with Swift 5.6 Lab 的範例擴充 URL 的功能。
extension URL {
func withQueries(_ queries: [String: String]) -> URL? {
var components = URLComponents(url: self, resolvingAgainstBaseURL: true)
components?.queryItems = queries.compactMap { URLQueryItem(name: $0.0, value: $0.1) }
return components?.url
}
}
新增 extension 時,我們通常會新增一個檔案存放 extension 的內容。檔名的命名一般以型別名開頭 ,然後搭配 + ,然後接某個字串。
以下我們看看幾種不同的命名方法。
- +後接文字說明擴充的功能。
ReminderListViewController+DataSource.swift
- + 後接 Extensions。
String+Extensions.swift
- + 後接 Helpers。
String+Helpers.swift
- + 後接 Extras。
String+Extras.swift
- + 後不接東西。
String+.swift
- + 後接遵從的 protocol 名字。
當 extension 遵從某個 protocol 時,+ 後接 protocol。
MyType+MyProtocol.swift
- + 後接 Additions。
String+Additions.swift