私は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) {
}
}
インターフェースの代わりに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 にアクセスしてください
あなたが見つけているのは「プロトコル」です。インターフェースはSwiftのプロトコルと同じです。
protocol Shape {
func shapeName() -> String
}
class Circle: Shape {
func shapeName() -> String {
return "circle"
}
}
class Triangle: Shape {
func shapeName() -> String {
return "triangle"
}
}
class
とstruct
はどちらもprotocol
を実装できます。