閉包和block盡管有很多相似之處,但block還是有他自己的獨(dú)特之外。今天學(xué)習(xí)后簡(jiǎn)單介紹一下:
假設(shè)在把A.swift的值傳給B.swift中,定義按鈕,點(diǎn)擊之后完成傳遞(舉兩個(gè)例子,其他情況類似)

在A.swift中聲明:1,無(wú)參無(wú)返回值數(shù)傳遞--var a1ClickCallBack:(() -> ())?
? ? ? ? ? ? ? ? ? ? ? ? ? 2,有參數(shù)無(wú)返回值傳遞--var a2ClickCallBack:((String) -> ())?
此時(shí)在點(diǎn)擊方法里面實(shí)現(xiàn):1,a1ClickCallBack?。ǎ?/p>
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 2,a2ClickCallBack?。?要傳的字符串的值")

在B.swift中實(shí)現(xiàn):假設(shè)B中已經(jīng)聲明或?qū)嵗薃.swift的controller,即為aCtl,
傳值實(shí)現(xiàn): 1,aCtl.a1ClickCallBack = { //你想做的事情 ?}
? ? ? ? ? ? ? ? 2,aCtl.a2ClickCallBack = { (param: String)in?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? //你想做的事情 }