// 3.Protocol
// 默认是必须实现的方法
protocol KeepBadyProtocol{
func clean()
}
//一般 : 后面第一个跟父类名,如果没有父类,后面跟的就是协议名,如果有多个协议,用 ','隔开即可
class BadyKeeperKeeper : KeepBadyProtocol{
func clean() {
print("必须给bady整理干净")
}
}
//相对来说,可选协议方法,写法稍微复杂一点
@objc protocol KeepHouseProtocol{
optional func watchTV()
func clean()
}
//当遵守的是有可选方法的协议时,有两种情况:
//---第一种,如果你这个类没有父类,只遵守了一个协议名,那么需要在你遵守的那个协议方法名前写上@objc
//---第二种,如果你这个有父类,那么直接实现协议方法就可以了。
class HouseKeeper:NSObject,KeepHouseProtocol {
func watchTV() {
print("看会电视史可以的")
}
func clean() {
print("必须打扫卫生")
}
}
原文链接:https://www.f2er.com/swift/325702.html