今天学习swift需要用到AFNetworking,感觉每页都写一个网络请求很费劲,都是重复的,想着是不是可以提取出来呢?百度了好久都说swift中闭包可以实现这个,即在一个自定义的类中利用AFNetworking请求网络数据,在其他类中传参调用。废话不多说上代码
这个是我自定义的类用于网络请求,传了一个title的参数
importUIKit
classNetWork:NSObject{
//注意:此处参数后的 ,后面有个 _ 顺带有个空格 然后是block 的写法(原因在文末图片中)
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
//把接收到的数据传给block
myblock(res: responseObject)
}) { (AFHTTPRequestOperation, err:NSError) ->Voidin
}}}
下面是在另一个类中的调用
lett ="满月之夜白鲸现"
NetWork.netCoreBack(t) { (res) ->Voidin
//dosomething
}
http://www.myexception.cn/operating-system/1684429.html
http://www.swiftmi.com/topic/65.html