我有一個iPad應用程序,它從外部Web服務中提取所有數據。我正在構建一個演示模式,該演示模式將使用設備上存儲的演示數據緩存,以便演示並在沒有Web服務連接(或互聯網連接)的情況下試用。在iPhone/iPad上提供示例數據的好方法是什麼?
是否有項目或遵循模型這種類型的樣本數據的良好實踐標準?我在期望從我的web服務返回JSON數組/字典,我怎麼能構建一個函數,使用硬編碼數據來創建NSMutableData對象,我期望從JSON Web請求中獲取?
我有一個iPad應用程序,它從外部Web服務中提取所有數據。我正在構建一個演示模式,該演示模式將使用設備上存儲的演示數據緩存,以便演示並在沒有Web服務連接(或互聯網連接)的情況下試用。在iPhone/iPad上提供示例數據的好方法是什麼?
是否有項目或遵循模型這種類型的樣本數據的良好實踐標準?我在期望從我的web服務返回JSON數組/字典,我怎麼能構建一個函數,使用硬編碼數據來創建NSMutableData對象,我期望從JSON Web請求中獲取?
我總是將示例數據粘貼到資源目錄中的plist文件中。很明顯,它可以爲,比如說,字典等的陣列被創建,所以可以直接從文件中加載:
NSString *myFile = [[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:@"SampleData.plist"];
NSDictionary *myDict = [[NSDictionary alloc] initWithContentsOfFile:myFile];
等效方法存在陣列。很明顯,它可能與您的JSON數組格式稍有不同,但導入的便捷性爲我贏得了勝利!
我做了這個應用程序,基本上是一個WordPress網站的前端。該應用程序旨在自動將數據緩存到Documents dir,因此在發佈之前,我只需從模擬器目錄中爲我的應用程序提取所需的所有緩存數據,並將其放入捆綁包中,並使用以下邏輯:
If (network available){
get new live data
}else if (have cached data from previous connection){
use it.
}else{
use data from the bundle
}
你可能會得到一些編譯器錯誤,如果您嘗試複製/粘貼到這一點的Xcode ...
應該不是您設計您的應用程序緩存數據,使用戶可以同時在線,後來火加載數據啓動應用程序並離線工作? – jamone 2010-04-20 17:18:15
好點,但我希望這個演示數據適用於下載應用程序而無需登錄Web服務連接的用戶,以便他們可以看到演示運行。 – MikeN 2010-04-20 18:58:09