Alamofire.request("https://api.openweathermap.org/xxx").responseJSON {
response in
//xxx
}
上面这段代码的意思是:
向"api.openweathermap.org/xxx"这个地址请求一些数据,
一旦获得数据后要做什么呢,就写在最后的大括号中。比如说做一些UI的更新(把获得的数据显示到界面上去)
最后这个大括号是一个回调函数。
所谓回调函数可以简单的理解为没有名字的函数。为什么不要名字呢,因为我们不需要在别的地方调用他,只会在做完前面的操作后立刻调用他。
那我们做完前面的操作肯定有一些目的的,比如,上面的代码就是为了获取一些网络上的数据
那这些数据怎么拿到呢?
在Swift语法里,他让我们从回调函数的参数里面获取,这个参数就是上面代码中的response。
说起函数的参数,大家都知道好像都是有个括号的啊,比如下面的这个简单函数:
func abc(xx: String){
//xxx
}
那其实在回调函数里面,这个括号被省略了。
所以就导致系统不知道在这个回调函数里面哪些代码是参数哪些代码是函数体(比如更新UI),所以这个in就诞生了
说白了,这个in就是为了分开函数的参数和函数体的一个固定语法,这个语法只在回调函数中使用。
大家如果一开始不太明白,觉得写法很怪异不容易理解的话也没有关系,我们对于新事物的适应能力没有那么快,慢慢的以后就会很熟练这种写法了,等练多了就会觉得,“这里理所当然就应该这么写”。
广告时间:
大家如果正好想学iOS开发的话,可以来看看小弟的iOS视频教程(永久更新+售后辅导): m.cctalk.com/inst/s9vfhe…