iOS-Swift初級知識-回調函數中in的意思

Alamofire.request("https://api.openweathermap.org/xxx").responseJSON { 

        response in

        //xxx
            
}
複製代碼

上面這段代碼的意思是:

向"api.openweathermap.org/xxx"這個地址請求一些數據,

一旦得到數據後要作什麼呢,就寫在最後的大括號中。好比說作一些UI的更新(把得到的數據顯示到界面上去)api

最後這個大括號是一個回調函數。

所謂回調函數能夠簡單的理解爲沒有名字的函數。爲何不要名字呢,由於咱們不須要在別的地方調用他,只會在作完前面的操做後馬上調用他。bash

那咱們作完前面的操做確定有一些目的的,好比,上面的代碼就是爲了獲取一些網絡上的數據

那這些數據怎麼拿到呢?

在Swift語法裏,他讓咱們從回調函數的參數裏面獲取,這個參數就是上面代碼中的response網絡

提及函數的參數,你們都知道好像都是有個括號的啊,好比下面的這個簡單函數:函數

func abc(xx: String){
    //xxx    
}
複製代碼

那其實在回調函數裏面,這個括號被省略了。spa

因此就致使系統不知道在這個回調函數裏面哪些代碼是參數哪些代碼是函數體(好比更新UI),因此這個in就誕生了

說白了,這個in就是爲了分開函數的參數函數體的一個固定語法,這個語法只在回調函數中使用。

你們若是一開始不太明白,以爲寫法很怪異不容易理解的話也沒有關係,咱們對於新事物的適應能力沒有那麼快,慢慢的之後就會很熟練這種寫法了,等練多了就會以爲,「這裏理所固然就應該這麼寫」。code

 

廣告時間:

你們若是正好想學iOS開發的話,能夠來看看小弟的iOS視頻教程(永久更新+售後輔導): m.cctalk.com/inst/s9vfhe…視頻

相關文章
相關標籤/搜索