Swift--13协议使用

Swift--13协议使用,第1张

概述/* 作用: 1、Protocol(协议)用于统一方法和属性的名称,而不实现任何功能。 2、协议能够被类,枚举,结构体实现,满足协议要求的类型被称为协议的遵循者。 3、遵循者需要提供协议指定的成员,如属性,方法, *** 作符,下标等 语法: protocol 协议名 {     属性、方法等 } struct 类型:协议一,协议二 {     协议中的属性及方法的实现 } class 类型:父类,协议一

/*

作用:

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_677_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?()

总结

以上是内存溢出为你收集整理的Swift--13协议使用全部内容,希望文章能够帮你解决Swift--13协议使用所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1062860.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-26
下一篇 2022-05-26

发表评论

登录后才能评论

评论列表(0条)

保存