Swift--13协议使用

前端之家收集整理的这篇文章主要介绍了Swift--13协议使用前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

/*

作用:

1Protocol(协议)用于统一方法属性名称,而不实现任何功能

2、协议能够被类,枚举,结构体实现,满足协议要求的类型被称为协议的遵循者。

3、遵循者需要提供协议指定的成员,如属性方法,操作符,下标等


语法:

protocol 协议名 {

属性方法

}

struct 类型:协议一,协议二 {

协议中的属性方法的实现

class 类型:父类,协议一,协议二 {

}

说明:

1、协议本身不实现任何功能,但你可以将它当做类型来使用

2、协议也可以继承一个或多个(用逗号隔开)其它协议

3、协议中也可添加可选的属性方法,并且只对类有效

(协议前添加@objc说明是可选的,属性方法添加optional)

*/


@objc protocol AddProtocol {

//只读

var a:Int {get}

//可读可写

var b:Int {getset}

//普通方法

func add() ->Int

@objcoptional var c:Int {get}

@objcoptional func optionalFunc()

}


protocol SubProcotol {

func sub()->Int

}


class Calculate: @H_186_301@NSObject,AddProtocol,SubProcotol {

var a:Int {

return100

}

var b:Int = 0

func add() ->Int {

returna+b

}

func sub() ->Int {

returna-b

}

}


var calc = Calculate()

//calc.a = 100

calc.b =200

print(calc.add())

print(calc.sub())


let c2 = calcas AddProtocol

//这样调用会前置解包,解包失败会崩溃

//c2.optionalFunc!()

//这样调用会隐式解包,解包失败返回nil

c2.optionalFunc?()

原文链接:https://www.f2er.com/swift/321698.html

猜你在找的Swift相关文章