下面是编程之家 jb51.cc 通过网络收集整理的代码片段。
编程之家小编现在分享给大家,也给大家做个参考。
/* 向服务器发送请求: request实际上有四个参数,但是后两个参数都设定为了默认值,所以在调用的时候只要初始化前两个参数就可以。 第一个参数是设定向服务器发起的请求的方法,通常为GET方法和POST方法。 第二个参数就是URL地址。 第三个参数是填写一些必要的信息,比如说使用密钥。 该方法返回一个Alamofire.Request对象 responseJSON方法有一个必包作为参数。这个必包有四个参数,没有返回值。但是responseJSON有一个Alamofire.request的返回值。这个返回值可以不使用。 下面的responseJSON的写法是闭包Trailing。 参数列表实际上是一个元组,所以,不关心的元素,可以用下划线忽略掉。 问题:如何实现网络请求完成后跳用responseJSON()方法? */ Alamofire.request(.GET,"https://api.500px.com/v1/photos",parameters:["consumer_key": str]).responseJSON() { (_,_,JSON,_) in let photoInfos = ( JSON?.valueForKey("photos") as [NSDictionary] ).filter({ /* filter是一个数组的过滤函数,它有一个闭包参数。闭包参数有一个任意类型的参数,并返回一个bool值。当bool值为真时,将对应的数组的元素存放到一个新数组中。 这个过滤条件可以解读为,一个元素为字典的数组调用filter方法,将字典中key为“nsfw”的值为false的字典保存到新的数组中。 */ ($0["nsfw"] as Bool) == false }).map(){ /* map函数是数组的一个函数,对于每个数组中的元素进行处理。它有一个返回值为任意类型的闭包。它的返回值是一个任意类型的数组。 在这个例子里,闭包的方法是把字典的id和image_url关键字的值对PhotoInfo进行初始化,并生成一个PhotoInfo的对象数组。 */ PhotoInfo( id: $0["id"] as Int,url: $0["image_url"] as String ) } }
以上是编程之家(jb51.cc)为你收集整理的全部代码内容,希望文章能够帮你解决所遇到的程序开发问题。
如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。