zoukankan      html  css  js  c++  java
  • 闭包-01-Swift

    //
    //  ViewController.swift//  闭包
    
    import UIKit
    
    class ViewController: UIViewController {
    
        override func viewDidLoad() {
            super.viewDidLoad()
            /*
            闭包 类似于 block
            block是C语言的, 类似于匿名函数
            闭包是定义函数的, Swift中函数就是一种特殊的闭包
            闭包的使用和block一样, 用于保存一段代码, 用作回调, 用作执行耗时操作
            闭包格式
            {
                (参数) -> 返回值类型 
                in
                执行语句
            }
            */
    //        loadData()
            /*
            loadData2 { () -> () in
                print("执行回调")
            }
            */
            /*
            闭包简写:
            1.如果没有参数, 没有返回值, in和in之前的东西可以省略
            2.如果闭包是函数的最后一个参数, 可以写在()后面  -- 尾随闭包
            3.如果只有一个闭包参数, 那么()也可以省略  -- 尾随闭包
            */
            /*
            loadData2 ({
                print("执行回调")
            })
            */
            /*
            loadData2(){
                print("执行回调")
            }
            */
            loadData2{
                print("执行回调")
            }
            
            loadData3("lnj") { () -> () in
                print("执行回调")
            }
        }
        
        
        func loadData3(name: String, finished: () -> ()){
            print("name = (name)")
            finished()
        }
        
        func loadData2(finished: () -> ()){
            print("耗时操作")
            
            // 回调
            finished()
        }
        
        func loadData(){
            dispatch_async(dispatch_get_global_queue(0, 0)) { () -> Void in
                print(NSThread.currentThread())
                print("耗时操作")
                
                dispatch_async(dispatch_get_main_queue(), { () -> Void in
                    print(NSThread.currentThread())
                    print("回到主线程更新UI")
                })
            }
        }
    
    }
    时光见证了成长,还很无知,我想一点点幼稚转为有知!
  • 相关阅读:
    mysql--创建表,插入数据,修改表名,删除表,简单查询/内连接、左/右连接
    页面访问过程及get/post的理解——
    对docker一些认知
    selenium之css selector定位
    selenium之xpath定位
    Linux常用命令:修改文件权限chmod 754/744
    对redis的一些理解
    用户登录 用例设计
    mysql优化
    mysql复制问题
  • 原文地址:https://www.cnblogs.com/foreveriOS/p/5473780.html
Copyright © 2011-2022 走看看