Swift Extension 的 file name(檔名)

開發 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

--

--

彼得潘的 iOS App Neverland
彼得潘的 Swift iOS App 開發問題解答集

彼得潘的iOS App程式設計入門,文組生的iOS App程式設計入門講師,彼得潘的 Swift 程式設計入門,App程式設計入門作者,http://apppeterpan.strikingly.com