如何使用NSURLCache?

时间:2015-05-15 08:48:07

标签: ios objective-c afnetworking nsurlcache

我正在使用VK iOS SDK(俄罗斯社交网络)制作应用程序。我正在发送从墙上获取一些数据的请求。我想缓存这些数据,但我真的不明白接下来应该做什么。在AppDelegate中我做了:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    // Override point for customization after application launch.
    NSURLCache *URLCache = [[NSURLCache alloc] initWithMemoryCapacity:4 * 1024 * 1024
                                                             diskCapacity:20 * 1024 * 1024
                                                                 diskPath:nil];
    [NSURLCache setSharedURLCache:URLCache];
    return YES;
}

NSURLCache 在后台工作,对吗? (种)

下一步是什么?我想使用NSURLRequestReturnCacheDataElseLoad。如果我理解这一点,那就意味着:如果我有缓存,我将使用缓存。但如果不是,我会发送请求。

如果我错了,请纠正我,在哪里。我将不胜感激。

1 个答案:

答案 0 :(得分:1)

AFNetworking及其底层系统库会自动使用NSURLCache。只要服务器的响应符合RFC2616的缓存标头,您的请求就应该自动使用缓存的数据。所以第一步是确定是否是这种情况。另外,你有很长的路要走,以实现手动缓存,虽然我想已经有了一个库可以做到这一点。