美文网首页swift入门
关于Swift 4.0+ 回调(block && delegat

关于Swift 4.0+ 回调(block && delegat

作者: 杯中怎可无酒 | 来源:发表于2019-06-05 14:22 被阅读0次
1、Block 闭包的写法

定义:

typealias callBackBlock = (_ str: String, _ index: Int) -> Void  

声明:

var callBack : callBackBlock?

回调:

if (callBack != nil) {
   callBack!("123", 111)
}

外部实现:

vc.callBack = {str , index in
            print(str, index)
        }

其他写法:

let block : ()->() = {}
    block = {[weak self] in
  //code

}
2、代理模式写法

创建protocol

protocol pickerDelegate {
    // MARK: - 选择index && string 回调
    func didSelectBind(_ index: Int, str: String)
}

声明:

var delegate : pickerDelegate?

回调:

self.delegate?.didSelectBind(pickerView.selectedRow(inComponent: 0), str: dataArr[pickerView.selectedRow(inComponent: 0)])

**外部使用写法直接实现协议 复制协议中的func即可

相关文章

  • 关于Swift 4.0+ 回调(block && delegat

    1、Block 闭包的写法 定义: 声明: 回调: 外部实现: 其他写法: 2、代理模式写法 创建protocol...

  • [swift]回调block回调

    在OC中习惯应用block进行事件回调,到swift中依然想找到这种简洁的回调事件,下面将介绍如何在swift中使...

  • Block in Swift

    在用Objective-c编程中我们常用Block作为回调,在改为swift编写后,如何兼容我们的Block呢? ...

  • Swift Block 回调示例

    控制器 A 和 B, 从A push 进来了 B, B 活干完了把作业交给 A B: A:

  • iOS开发之Block

    1.OC中 2.Swift中 3.案例一block回调 UMengShareManage调用testFunctio...

  • Swift中几种回调的方法

    在OC中,最常用的回调方式是代理和Block,Swift中有代理,没有Block,取代的是闭包. 这是别人总结的闭...

  • block的简单理解

    block跟swift中的闭包(closure)比较: 基本一样,都常用于值的回调,特别是在多线程的网络请求回调中...

  • 面试技巧攻克-iOS中对象间通信机制

    一、delegate和block 1、delegate和block的区别?block需要注意什么? delegat...

  • 关于通知、block 回调

    建议在 viewWillAppear中加入通知,在viewWillDisappear中移除通知(不建议这么做,会引...

  • OC 消息发送--block使用

    block简介 block跟swift中的闭包(closure)比较:基本一样,都常用于值的回调,特别是在多线程的...

网友评论

    本文标题:关于Swift 4.0+ 回调(block && delegat

    本文链接:https://www.haomeiwen.com/subject/ueajxctx.html