【发布时间】:2015-07-22 19:14:19
【问题描述】:
我一直在尝试使用 AFNetworking 实现缓存,以便我缓存的 JSON 将离线加载。我以不同的方式尽力而为,我根本无法使缓存工作。我不知道我在这里错过了什么..
这是我AppDelegate中的代码:
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
// Override point for customization after application launch.
var cache :NSURLCache = NSURLCache(memoryCapacity: 4*1024*1024, diskCapacity: 32*1024*1024, diskPath: "app_cache")
NSURLCache.setSharedURLCache(cache)
return true
}
这也是我用来获取 JSON 的代码:
let manager = AFHTTPRequestOperationManager()
manager.requestSerializer = AFJSONRequestSerializer()
manager.requestSerializer.cachePolicy = NSURLRequestCachePolicy.ReturnCacheDataElseLoad
manager.GET("http://api.androidhive.info/json/movies.json", parameters: nil, success: { (operation, responseObject) -> Void in
if let j: AnyObject = responseObject, let mediaObjects = j.valueForKeyPath("image") as? NSArray {
self.imageArray = mediaObjects as! [String]
}
self.myCollectionView.reloadData()
println("success")
}, failure: { (operation, error) -> Void in
})
所以在故障块中,我想加载缓存的数据,但我不知道我错过了什么? 请提供工作代码,缓存是一个很大的话题,我找不到一个完整的工作示例!
【问题讨论】:
标签: ios objective-c swift afnetworking-2