Swift协议(Protocol)

发布时间 2023-09-12 15:36:21作者: 漫思

Swift协议(Protocol)是一种定义了一组方法的蓝图,可以被其他类型(如类、结构体)遵守和实现。协议可以用来定义一组标准方法,以便在程序中实现这些方法。

下面是一个Swift协议的定义示例:

swiftprotocol MyProtocol {
func doSomething()
func doSomethingElse()
}

这个协议定义了两个方法doSomething()doSomethingElse(),任何类型只要实现了这两个方法,就可以被称为遵守了MyProtocol协议。

比如下面是一个类遵守这个协议的示例:

swiftclass MyClass: MyProtocol {
func doSomething() {
print("Doing something")
}

func doSomethingElse() {
print("Doing something else")
}
}

在这个例子中,MyClass类实现了MyProtocol协议中定义的两个方法。因此,我们可以将MyClass实例赋值给一个接受MyProtocol类型的变量:

swiftlet myObject: MyProtocol = MyClass()
myObject.doSomething() // prints "Doing something"
myObject.doSomethingElse() // prints "Doing something else"

在Swift中,协议可以有很多有用的用途,例如定义视图控制器的基础接口(如UITableViewDataSourceUITableViewDelegate),或者定义自定义的接口。