在目前接触到的Alamofire和AFNetworking之中
Alamofire封装语言为Swift, AFNetworking则为OC!
在其数据接口的请求过程,以及Json数据的解析中,二者用法基本相同
AFNetworking的算法,以及用法优于Alamofire, 但是在使用的体验上,个人感觉前者不如后者
AFNetworking
var dataArray = NSMutableArray()
let dic = resp?.objectForKey("data")
if let array = dic?.objectForKey("topic") {
// 利用KVC进行属性赋值(字典转模型model)
for i in 0 ..< array.count {
let subDic = array[i]
let model = HomeModel()
// 直接字典转模型,必须保证model中的字段和json数据保持一致
model.setValuesForKeysWithDictionary(subDic as! [String : AnyObject])
self.dataArray.addObject(model)
}
}
Alamofire
var dataArray:[AdvModel] = []
if let modelArray = resp.result.value as? [[String: AnyObject]]{
for advDict in modelArray {
let model = AdvModel()
model.setValuesForKeysWithDictionary(advDict)
self.dataArray.append(model)
}
}
但是AFNetworking的用法更加多变更将灵活,更实用. 加上Swift的不稳定行,AFNetworking高于Alamofire
网友评论