美文网首页
SWIFT的闭包

SWIFT的闭包

作者: 沐时 | 来源:发表于2018-04-10 16:03 被阅读7次

最近在研究闭包,所以做个总结.

一般的函数写法:

 func funcMethod(para1 name1 : String,para2 name2:String) ->Int
    {
        return 10
    }
调用
 let funcValue : Int = self.funcMethod(para1: "11", para2: "22")
 print(funcValue)

然后主要讲闭包(ob是创建的一个类)

重定义闭包作为参数和直接作为参数(有参无返回值)

重定义闭包作为参数
typealias fucBlock = (_ backMsg :String) ->()
    
    func processWithBlock(cmdStr:String?,blockProperty:fucBlock){
        blockProperty("backMsg---by block inside func11")
    }

调用
 ob.processWithBlock(cmdStr: "252622"){ (backMsg) in
           print("processWithBlock--\(backMsg)")
       }

----
闭包直接作为参数使用
//block返回值
    func processWithBlock(cmdStr:String?,blockProperty:(_ backMsg :String) ->())->(String){
        blockProperty("backMsg---by block inside func12")
        return ""
    }

重定义闭包作为参数和直接作为参数(有参有返回值)

 func process4WithBlock(cmdStr:String?,blockProperty:(_ backMsg :String) ->(Int))->(String){
        let jk : Int = blockProperty("backMsg---by block inside func13")
        print("jk's value is + \(jk)")
        return "process4WithBlock +\(String(describing: cmdStr))"
    }
调用
 let intValue : String = ob.process4WithBlock(cmdStr: "252") { (cmdStr : String) -> (Int) in
            
            print(cmdStr)
            
            return 9+9
            
        }
        
        print(intValue)
        

返回闭包

这个是swift新的特点,函数可以直接当参数使用,返回的闭包可以根据不同的输入值,返回不同的函数类型

有兴趣可以加群一起讨论:588123358
参考链接:
1.Swift 用Delegate和Block实现回调的Demo
2.窥探 Swift 之 函数与闭包的应用实例

相关文章

  • Swift-闭包

    Swift 闭包 函数 ()->() Swift 中的闭包和 Objective-C 中的 block 类似,闭包...

  • Swift闭包和函数

    函数在Swift中只是一种特殊的闭包,闭包在Swift语言中是一等公民,支持闭包嵌套和闭包传递。Swift中的闭包...

  • swift4 闭包

    swift 闭包 闭包:swift 中 函数是闭包的一种类似于oc的闭包闭包表达式(匿名函数) -- 能够捕获上下...

  • iOS&Swift&OC 闭包和Block的相互转化

    一、Swift的闭包 -> OC的block 二、OC的block -> Swift的闭包

  • Swift中的闭包

    在Swift中有两种闭包,逃逸闭包(@escaping)和非逃逸闭包(@nonescaping)。从Swift 3...

  • 100 Days of Swift - Day 06 - 闭包(

    100 Days of Swift - Day 06 - 闭包Closures 6.1 闭包 Swift函数也属于...

  • swift学习

    * 闭包 * 闭包作为属性 ```swift // 声明闭包类型 typealias callba...

  • iOS swift 逃逸闭包(@escaping)和非逃逸闭

    iOS swift 逃逸闭包(@escaping)和非逃逸闭包 (@noescaping) 逃逸闭包: 逃逸闭包...

  • Swift学习笔记(1)

    SWift学习笔记 闭包 闭包表达式 闭包是自包含的函数代码块,可以在代码中被传递和使用。Swift 中的闭包与 ...

  • Swift5.x-枚举(中文文档)

    引言 继续学习Swift文档,从上一章节:闭包,我们学习了Swift闭包相关的内容,如闭包的定义和使用、闭包的简写...

网友评论

      本文标题:SWIFT的闭包

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