【问题标题】:How to cache data in ios如何在ios中缓存数据
【发布时间】:2011-04-12 02:02:50
【问题描述】:

我从服务器加载了 XML 数据(包括图像、文本……)并将该数据显示在 iphone 屏幕上。

当我其他时间访问该屏幕时,如何缓存数据以重新加载该屏幕。它会更快。 (不需要重新加载 XML 数据)?

谢谢。

【问题讨论】:

    标签: iphone objective-c caching nscache


    【解决方案1】:

    从服务器下载数据后,您可以将 XML 文件本身存储到文档文件夹(或某些子文件夹)中。 如果您已将 XML 文件解析为数组和字典,则可以将数据转换为 plist 文件并将其存储在您的 iPhone 上。 看看 NSData 方法:

    - (BOOL) writeToFile: (NSString*)path  atomically: (BOOL)useAuxiliaryFile;
    

    【讨论】:

      【解决方案2】:

      使用EGOcache API。 只需在你的类中导入 EGOCache.h 文件

      - (void)setObject:(id<NSCoding>)anObject forKey:(NSString*)key;
      -(void)setObject:(id)anObject forKey:(NSString*)key withTimeoutInterval:(NSTimeInterval)timeoutInterval;
      -(id)objectForKey:(NSString*)key;
      

      使用第一种方法使用 forkey 设置数据。 如果要指定缓存时间,请使用第二种方法。

      编辑

      EGOCache 将永久保存您的数据,请参阅here 以了解包含各种自动删除策略的 NSCache 的使用情况。

      【讨论】:

        猜你喜欢
        • 2019-07-09
        • 2018-08-17
        • 2014-03-15
        • 2019-09-29
        • 2019-12-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多