言語仕様に記載されているように、拡張機能を使用して既存のSwiftオブジェクトタイプに拡張機能を追加することができます。
その結果、次のような拡張機能を作成することが可能です。
extension String {
var utf8data:NSData {
return self.dataUsingEncoding(NSUTF8StringEncoding, allowLossyConversion: false)!
}
}
しかし、そのような拡張子を含むSwiftソースファイルの最良の命名規則は何ですか?
以前extendedtype+categoryname.m
は、Objective-Cガイドで説明されているように、この規則はObjective-Cタイプに使用するものでした。しかし、Swiftの例にはカテゴリ名String.swift
がなく、それを呼び出すのは適切ではないようです。
だから問題は:上記のString
拡張子が与えられた場合、迅速なソースファイルは何と呼ばれるべきですか?
ClassName+ExtensionName
形式に従っているObjective-Cのカテゴリであり、あまりにも多くの人々がまだ使用しているとは思えません。その上、クラスと拡張機能を一緒に定義する代わりに、またはFooAbleTypes
インスタンスのようにファイルにわかりやすい名前を付けて、集合的に定義するのではなく、それは不格好だと思います。
Extensions.swift
ます。そうすれば、それらを追跡できなくなり、コードベースの初心者はすぐにそれらに気づくでしょう。そして、私は彼らが必要としているファイルにワンオフ拡張プライベートを維持することを好むだろう。