2012-08-08 71 views
0

我有一個應用程序列出了一些州(如阿薩姆邦,安得拉邦,邦德等)。選擇狀態時,下一個視圖以表格視圖顯示處於該特定狀態的醫院。醫院名稱使用Web服務從數據庫加載。這樣做到目前爲止,沒有後顧之憂。如何爲每個表UITableViewCell調用一次Web服務?

我的問題是:假如我列出醫院的狀態。我再次選擇相同的狀態,再次調用Web服務,用戶必須等待數據。所以這不是一個好主意。如果我選擇相同的狀態,我不想再次調用Web服務。如果狀態選擇相同,如何存儲數據並顯示它?

+0

清潔香港我的答案... – Rajneesh071 2012-09-04 12:22:18

回答

0

NSUserDefault

保存數據
NSUserDefaults * defaults = [NSUserDefaults standardUserDefaults]; 
    [defaults setObject:hospitalAry forKey:@"Hospital"]; 
    [defaults synchronize]; 
0

爲void調用Web服務各一次,把你從WS獲得在AppDelegate中,
每一次用戶的2D的NSMutableArray屬性的結果中選擇一個狀態 ,驗證是否與你的狀態數組爲零

+0

我很困惑。如何聲明該2D NSMutable數組????? – user1523344 2012-08-08 11:13:14

+0

意思NSMutableArray的一個NSMutableArray裏面的第一個用於統計數據和其他的醫院 – touti 2012-08-08 11:18:05

+0

我們如何能夠識別出對應於特定狀態的醫院??????? – user1523344 2012-08-10 08:35:47

1

您可以使用NSURLRequestReturnCacheDataElseLoad作爲NSURLRequestcachePolicy

作爲蘋果指出:

NSURLRequestReturnCacheDataElseLoad指定現有緩存 數據應被用於滿足負載URL請求,而不管其 年齡或到期日期。然而,如果在對應於URL加載請求的高速緩存 沒有現有數據,該URL被從 原點源加載。

0

此外SQLite/CoreData可能是一種您可能想要考慮的存儲數據的方法,以獲得更長的和永久的基礎。

如果的currentdate!= serverLastUpdatedDate那麼你可以從服務器下載數據,可以將數據一個的plist存儲形式爲每個rowtext,以便更快實現。看看下面的實現方法。

的plist Setting up a plist to store application data (not settings) for an iPhone game

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

相關問題