0

我有一个列出一些州(例如阿萨姆邦、安得拉邦、邦等)的应用程序。选择一个州后,下一个视图会在表格视图中显示位于该特定州的医院。医院名称是使用 Web 服务从数据库中加载的。到目前为止,这已经完成了,不用担心。

我的问题是:假设我列出了一个州的医院。我返回并再次选择相同的状态,再次调用 Web 服务,用户必须等待数据。所以这不是一个好主意。如果我选择相同的状态,我不想再次调用 Web 服务。如果状态选择相同,如何存储和显示数据?

4

4 回答 4

1

您可以NSURLRequestReturnCacheDataElseLoad用作cachePolicyNSURLRequest

正如苹果所说:

NSURLRequestReturnCacheDataElseLoad 指定应该使用现有的缓存数据来满足 URL 加载请求,无论其年龄或到期日期如何。但是,如果缓存中没有对应于 URL 加载请求的现有数据,则从源源加载 URL。

于 2012-08-08T16:25:55.203 回答
0

每次调用一个 void 的 web 服务,把你从 WS 得到的结果放在 AppDelegate 的一个 2D NSMutableArray 属性中,
每次用户选择一个状态,验证你的状态对应的数组是否为 nil

于 2012-08-08T10:31:15.260 回答
0

此外,SQLite/CoreData 可能是您可能要考虑将数据存储更长时间和永久的一种方法。

如果 currentDate != serverLastUpdatedDate 那么您可以从服务器下载数据,您可以将数据以 plist 的形式存储在每个行文本中,以便更快地实现。看看以下实现它的方法。

plist 设置 plist 以存储 iPhone 游戏的应用程序数据(不是设置)

SQLite http://www.techotopia.com/index.php/An_Example_SQLite_based_iOS_4_iPhone_Application

CoreData http://developer.apple.com/library/ios/#DOCUMENTATION/DataManagement/Conceptual/iPhoneCoreData01/Introduction/Introduction.html

于 2012-08-10T09:27:24.333 回答
0

将您的数据保存在NSUserDefault

    NSUserDefaults * defaults = [NSUserDefaults standardUserDefaults];
    [defaults setObject:hospitalAry forKey:@"Hospital"];
    [defaults synchronize];
于 2012-09-04T05:42:34.260 回答