swift详解之十一------------协议、委托(代理)模式

协议、委托(代理)模式

注:本小节总结协议以及依靠协议实现委托,这将在以后经常被使用。是一个非常重要的模块


看下官方的定义:协议定义了一个蓝图 , 规定了用来实现某一特定工作或者功能所必须的方法和属性,类、结构体、或者枚举类型都可以遵循协议, 并提供具体实现来完成协议定义的方法和功能 。 任意能够满足协议要求的类型都被成为遵循了这个协议

1、协议的语法

协议的关键字:protocol
协议的语法:

protocol Pro1{
    //这里定义属性或者方法
}

要使一个类或者结构体遵循某个协议 , Class1: Pro1 只需要冒号加上协议名称就可以了 。 这时候这个类就必须实现协议中的属性和方法 。(可选的可以不实现,后面会说)

2、 协议中对属性和方法的使用

  • 对属性的使用
    如果一个协议中定义的变量是可读可写的 那么遵循这个协议的必须是可读可写 ,也不能是常量 ,如果协议是只读的 , 实现者可以是只读 也可以是可读可写
    在协议中使用类型属性 总是使用static
protocol Pro1{
    var name:String{
  set get}  //可读可写
    var age:Int { get }  //只读属性
    static var status:Int {
  set get}   
}
//遵循协议
struct Struct1 : Pro1 {
    private var _name = ""
    var name:String   {
        set{
           _name = newValue
        }

        get{
            return _name
        }
    }
    var age = 18 //可以声明为可读可写的
    static  var status = 1  //类型方法。
}

class Class1
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值