1:swift中閉包和oc中block同樣,都是經常使用於回調,閉包也是一種特殊函數json
2:代碼演示:swift
import UIKit class HttpTools: NSObject { // 閉包的類型:(參數列表) -> (返回值類型) func loadData(callBack : (jsonData : String) -> ()) { dispatch_async(dispatch_get_global_queue(0, 0)) { print("發送網絡請求\(NSThread.currentThread())") dispatch_sync(dispatch_get_main_queue(), { print("獲取到數據,而且進行回調:\(NSThread.currentThread())") callBack(jsonData: "jsonData數據===================") }) } } }
import UIKit class ViewController: UIViewController { // 建立屬性的同時初始化對象 var tools : HttpTools = HttpTools() override func touchesBegan(touches: Set<UITouch>, withEvent event: UIEvent?) { print("-----"); tools.loadData { (jsonData) in print("拿到了json數據了:\(jsonData)") } } }
3:閉包的定義格式: (參數列表) -> (返回值類型)網絡
如:callBalk : (jsonData : String) -> ()閉包
4:swift中:標誌符在前 : 類型 && OC中:類型在前 * 標誌符名字async
意見反饋郵件:1415429879@qq.com
歡迎大家的閱讀和讚揚、謝謝!ide