私は新しいSwift言語を探して、インターネットでサーフィンした後、Swiftのインターフェイス(Java)またはプロトコル(objective-c)に相当するものを見つけようとしています) Appleが提供する本を検索しても、まだ見つけられないようです。
Swiftのこのコンポーネントの名前とその構文は何ですか?
Swiftのプロトコル は、Objcと非常に似ていますが、クラスだけでなく、構造体と列挙型でも使用できる点が異なります。
protocol SomeProtocol {
var fullName: String { get } // You can require iVars
class func someTypeMethod() // ...or class methods
}
プロトコルへの準拠は少し異なります。
class myClass: NSObject, SomeProtocol // Specify protocol(s) after the class type
デフォルトの(オーバーライド可能な)関数実装を使用してプロトコルを拡張することもできます。
extension SomeProtocol {
// Provide a default implementation:
class func someTypeMethod() {
print("This implementation will be added to objects that adhere to SomeProtocol, at compile time")
print("...unless the object overrides this default implementation.")
}
}
注:デフォルトの実装は、プロトコル定義自体ではなく、拡張機能を介して追加する必要があります-プロトコルは具体的なオブジェクトではないため、実際にメソッド本体をアタッチすることはできません。デフォルトの実装をCスタイルのテンプレートと考えてください。基本的に、コンパイラは宣言をコピーし、プロトコルに準拠する各オブジェクトに貼り付けます。
Swiftにもプロトコルがあります。 here は関連ドキュメントです。