web-dev-qa-db-ja.com

Swiftでインターフェースを作成する方法

私はSwiftでインターフェイスのような機能を作成したいのですが、私の目標は、別のクラスを呼び出すときにAPIを呼び出していると想定し、そのクラスの応答を現在の画面に反映させたい場合は、Androidインターフェイスを使用して達成しますが、そのためにSwiftで何を使用すればよいですか?誰もが例を教えてくれますか? Androidのコードを以下に示します...

public class ExecuteServerReq {
    public GetResponse getResponse = null;

    public void somemethod() {
        getResponse.onResponse(Response);
    } 
    public interface GetResponse {
        void onResponse(String objects);
    }
}


ExecuteServerReq executeServerReq = new ExecuteServerReq();

executeServerReq.getResponse = new ExecuteServerReq.GetResponse() {
    @Override
    public void onResponse(String objects) {
    }
}
6

インターフェースの代わりにSwift haveProtocols

プロトコルは、特定のタスクまたは機能の一部に適したメソッド、プロパティ、およびその他の要件の青写真を定義します。次に、クラス、構造、または列挙によってプロトコルを採用して、これらの要件の実際の実装を提供できます。プロトコルの要件を満たすタイプはすべて、そのプロトコルに準拠しているといいます。

試験を受けましょう。

protocol Animal {
    func canSwim() -> Bool
}

このプロトコル名を確認するクラスがあります動物

class Human : Animal {
   func canSwim() -> Bool {
     return true
   }
}

詳細は- https://developer.Apple.com/library/content/documentation/Swift/Conceptual/Swift_Programming_Language/Protocols.html にアクセスしてください

9
Surjeet Rajput

あなたが見つけているのは「プロトコル」です。インターフェースはSwiftのプロトコルと同じです。

protocol Shape {
    func shapeName() -> String
}

class Circle: Shape {
    func shapeName() -> String {
        return "circle"
    }

}

class Triangle: Shape {
    func shapeName() -> String {
        return "triangle"
    }
}

classstructはどちらもprotocolを実装できます。

1
Jaydeep