今天學(xué)習(xí)swift需要用到AFNetworking娶桦,感覺(jué)每頁(yè)都寫(xiě)一個(gè)網(wǎng)絡(luò)請(qǐng)求很費(fèi)勁浦楣,都是重復(fù)的,想著是不是可以提取出來(lái)呢火欧?百度了好久都說(shuō)swift中閉包可以實(shí)現(xiàn)這個(gè)棋电,即在一個(gè)自定義的類中利用AFNetworking請(qǐng)求網(wǎng)絡(luò)數(shù)據(jù),在其他類中傳參調(diào)用布隔。廢話不多說(shuō)上代碼
這個(gè)是我自定義的類用于網(wǎng)絡(luò)請(qǐng)求离陶,傳了一個(gè)title的參數(shù)
importUIKit
classNetWork:NSObject{
//注意:此處參數(shù)后的 ,后面有個(gè) _ 順帶有個(gè)空格 然后是block 的寫(xiě)法(原因在文末圖片中)
class func netCoreBack(title:String,_ myblock: (res:AnyObject)->Void) {
letprograme =NSDictionary(object:"title", forKey:title)
letmanager:AFHTTPRequestOperationManager=AFHTTPRequestOperationManager()
manager.GET("https://api.douban.com/v2/book/1220562", parameters: programe, success: { (AFHTTPRequestOperation, responseObject :AnyObject) ->Voidin
//把接收到的數(shù)據(jù)傳給block
myblock(res: responseObject)
}) { (AFHTTPRequestOperation, err:NSError) ->Voidin
}}}
下面是在另一個(gè)類中的調(diào)用
lett ="滿月之夜白鯨現(xiàn)"
NetWork.netCoreBack(t) { (res) ->Voidin
//dosomething
}
http://www.myexception.cn/operating-system/1684429.html
http://www.swiftmi.com/topic/65.html