【Swift】代理使用举例
来源:互联网 发布:淘宝上买药可靠吗 编辑:程序博客网 时间:2024/06/05 02:22
代理 是iOS 开发里面一个很重要的内容,在关键时刻可以发挥重要作用,实训中使用到的例子是:* 点击一个tableviewcell中的一个按钮,跳转到另一个页面 *
如果简单的话当然可以直接storyboard连接过去,但是如果想使用NavigationController,你总不能在button的Selector里面写self.navigationcontroller吧,因为self是一个cell,没有导航控制器,那么我们这个时候可以使用委托。
我们首先来看一下委托的概念。
委托(delegate)是Cocoa的一个术语,表示将一个对象的部分功能转交给另一个对象。
比如对象A希望对象B知道将要发生或已经发生某件事情,对象A可以把对象B的引用存为一个实例变量。这个对象B称为委托。当事件发生时,它检查委托对象是否实现了与该事件相适应的方法。如果已经实现,则调用该方法。
由于松耦合的原因,一个对象能成为多个对象的委托。某些情况下,相较于通过继承让子类实现相关的处理方法,可以有效减少代码复杂度。所以iOS中也大量的使用了委托。
首先在cell的类定义前面加一个协议的定义,并在类定义中增加delegate的一个变量
protocol RequestJumpDelegate { func requestJump()}class DemoCell: FoldingCell { var delegate: RequestJumpDelegate?//其他代码}
随后给DemoCell里面的按钮增加方法绑定,方法调用的是协议中的requsetJump()
@IBAction func requestTapped(_ sender: Any) { delegate?.requestJump() }
随后在使用了cell的VC里面定义好requsetJump()
方法,并将cell的delegate设为自己,即可完成任务。
0 0
- 【Swift】代理使用举例
- swift 中使用代理
- ObjectMapper的使用举例 Recipe.swift
- ObjectMapper的使用举例2 ThemeRecipe.swift
- swift举例
- swift中代理的使用
- swift 中代理的使用
- swift中代理的使用
- Swift中使用代理协议
- Swift中代理的使用
- Swift-代理方法的使用
- Swift中代理使用篇(一)
- swift 中使用扩展实现代理
- swift 中使用扩展实现代理
- swift 中使用扩展实现代理
- swift-代理
- ssh 反向代理举例
- 事件代理举例
- 拓扑排序
- 表空间和数据文件1
- Convex Hull
- include和require 区别
- UE4入门学习3:GamePlay框架
- 【Swift】代理使用举例
- 无知比愚蠢更可怕
- |poj 1236|强连通分量|Network of Schools
- Android 技术重温系列 (8)- AndroidManifest.xml
- Combo box的使用
- 监听器匿名类(一)
- Ubuntu安装inspectrum
- Python3.4.2 win32 安装 gdal
- 1090: 哥德巴赫猜测