• Swift 逃逸闭包


    一般在定义网络请求框架时,会声明成功闭包,失败闭包。用来回调返回的数据给调用者。

    成功闭包,失败闭包当然是作为请求方法的参数,这时候会报错,因为这种闭包必须声明为逃逸闭包。

    也就是在闭包类型前加 @escaping

    func httpRequestSendDeviceTokenWithOld(oldToken : String,
                                               platformType : NSNumber,
                                                  succed : @escaping HttpRequestCompleteBlock,
                                                  faild : @escaping HttpRequestFaildCompleteBlock) {
            
            WLFNetWorkManager.sharedInstance.post(USER_REGISTER_URL, parameters: ["oldToken":oldToken,
                                                                                  "deviceToken":"",
                                                                                  "platformType":2,
                                                                                  "userId":0], progress: { (progress) in
                
            }, success: { (task, responseObject) in
                
                succed(responseObject!)
                
            }) { (task, error) in
                
                faild(error)
            }
        }
    当一个闭包作为参数传到一个函数中,但是这个闭包在函数返回之后才被执行,我们称该闭包从函数中逃逸. 当你定义接受闭包作为参数的函数时,你可以在参数名之前标注 @escaping,用来指明这个闭包是允许“逃逸”出这个函数的
    
    作者:li_礼光
    链接:https://www.jianshu.com/p/5701f4e8eb29
    来源:简书
    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
    此文仅为鄙人学习笔记之用,朋友你来了,如有不明白或者建议又或者想给我指点一二,请私信我。liuw_flexi@163.com/QQ群:582039935. 我的gitHub: (学习代码都在gitHub) https://github.com/nwgdegitHub/
  • 相关阅读:
    Leetcode 814. 二叉树剪枝
    Leetcode 104. 二叉树的最大深度
    Leetcode 617. 合并二叉树
    Leetcode 226. 翻转二叉树
    Leetcode 654.最大二叉树
    【Leetcode】413. Arithmetic Slices
    【Leetcode】128. Longest Consecutive Sequence
    【Leetcode】605. Can Place Flowers
    【Leetcode】647. Palindromic Substrings
    高可用架构
  • 原文地址:https://www.cnblogs.com/liuw-flexi/p/12869541.html
Copyright © 2020-2023  润新知