swift5的代理的使用

swift5的代理的使用

swift5 的代理是ios重难点。
例如 UICollectionViewCell 想往 UICollectionViewController 传值或者是通知一下一个值。怎么去做。
首先定义一个协议:

protocol PhotoBrowserViewCellDelegate: NSObjectProtocol{
func imageViewClick()
}
继承NSObjectProtocol,

一。书写一个方法,没有方法体 functuon Body, 相当于java 的interface,接口,只声明函数,不实现具体的方法。我这里没有传参,可以在小括号书写传递的参数和参数类型的定义
二。在class 类里面定义一个成员变量,变量类型是PhotoBrowserViewCellDelegate,并设置为可选类型。

var delegate: PhotoBrowserViewCellDelegate?

三。在click函数里面 点击事件里面书写:

self.delegate?.imageViewClick()
直接通过成员变量调用协议里面的函数。我这里没有传参数,需要传参的话,在协议里面根据自身情况传递相应的参数。

四。来到UICollectionViewController类里面,

首先遵守一下协议,
即cell.delegate =

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值