我在AFNetworking代码下面使用网络请求
let manager = AFHTTPRequestOperationManager()
manager.requestSerializer.cachePolicy = NSURLRequestCachePolicy.ReturnCacheDataElseLoad
manager.responseSerializer = AFHTTPResponseSerializer()
var parameters = Dictionary<String, AnyObject>()
parameters["key"] = Constants.urlKey
manager.POST(Constants.categoryProductsUrl,
parameters: parameters,
success: { (operation: AFHTTPRequestOperation!, responseObject: AnyObject!) in
let productAdapter = ProductAdapter()
productAdapter.mapResponseOnModel(responseObject, error:"", pageLoaded:page, categoryLoaded:categoryId, callback:callback)
},
failure: { (operation: AFHTTPRequestOperation?,error: NSError!) in
print("afnetworking GET producst - Error: " + error.localizedDescription)
let productAdapter = ProductAdapter()
productAdapter.mapResponseOnModel("", error:Constants.ERROR_SOME_THING_WENT_WRONG, pageLoaded:page, categoryLoaded:categoryId, callback:callback)
})
但是响应没有被缓存,即使我已经提到缓存策略如下:
manager.requestSerializer.cachePolicy = NSURLRequestCachePolicy.ReturnCacheDataElseLoad
答案 0 :(得分:0)
最近出现的问题是: set-cache-time-afnetworking-swift-2
然而,它在Objective-C中。您可以嵌入来自obj-c的代码,但如果您不想再回到obj-c,为什么不使用其他新东西: AlamoFire
AlamoFire中的缓存控制: alamofire-nsurlcache-is-not-working