基础知识总结【随时总结更新】

来源:互联网 发布:mac软件下载怎么安装 编辑:程序博客网 时间:2024/06/05 07:10

1.defer 当前代码块执行到最后的时候回调这个函数

Alamofire.request(.GET, URL.absoluteString).responseData({ (req, response, res) -> Void in                defer {                    executings[i] = false                }                switch res {                ....                    }                    switch self.imageType(data) {                    ....                        }                    default:                        ....                    }                }            })

在这里代码的执行顺序是首先进入闭包函数中,跳过defer中的内容,直接运行2个switch,当闭包函数中的内容运行完成之后最后返回开始的地方运行defer里面的内容


2.array.enumerate() 将数组中的值和index相分离用3的方法可以获取当前数组中的index坐标
3.for (i, URL) in saveImages.enumerate() {} 获取数组中的index坐标

for (i, URL) in saveImages.enumerate() {            Alamofire.request(.GET, URL.absoluteString).responseData({ (req, response, res) -> Void in                ....            })        }

这里是要循环获取saveimages这个数组中的index坐标,saveImages.enumerate()这个函数就是将数组中的值和index坐标进行分离,循环返回一个元组(i, URL)这个元组中的i就是index
相对得到URL就是数组中的值


4.reverse(n) 倒序排列数组内的值
5.

while executings.filter({ $0 }).count > 0 {            NSRunLoop.currentRunLoop().runMode(NSDefaultRunLoopMode, beforeDate: NSDate(timeIntervalSinceNow:0.01))        }

这里重点想要说的是filter这个函数,作用是返回一个元素,这个元素必须符合后面闭包函数中的条件,这上面的函数条件是,在executings中true的count 如果大于0 为真,执行大括号中的代码。

0 0
原创粉丝点击