如何从其他视图访问缓存

时间:2011-11-09 03:30:54

标签: iphone ios uitableview caching asihttprequest

我已经使用ASIHttprequest设置了一个sharedCache,它是从我在子视图中解析的xml中创建的。我想知道我是否可以从主视图中访问sharedCache来做一些可以加速我的表格的事情?

任何想法,建议,例子的想法将不胜感激。

1 个答案:

答案 0 :(得分:2)

sharedCache已提供ASIDownloadCache。它在应用程序的任何位置都可见(假设您#import "ASIDownloadCache.h"),因此您应该可以致电[ASIDownloadCache sharedCache]并使用它。

编辑:使用多个缓存并不是太棘手。创建一个单独的类,它包含在主视图和子视图中。在那里,定义一个返回一个或多个ASIDownloadCache对象的方法,并提供一个类似于此的实现:


DownloadCaches.h

#import "ASIDownloadCache.h"

@interface DownloadCaches : NSObject

    + (ASIDownloadCache *)imageCache;

@end

DownloadCaches.m

#import "DownloadCaches.h"

@implementation DownloadCaches
    static ASIDownloadCache *imageCache = nil;

    + (ASIDownloadCache *)imageCache
    {
        if(imageCache == nil)
        {
            imageCache = [[ASIDownloadCache alloc] init];
            // set imageCache-specific options here
        }

        return imageCache;
    }

@end

你只需要打电话给[DownloadCaches imageCache],如果还没有,它将被初始化,然后返回给你。