2013-08-19 39 views
0

我有一個應用程序,其中顯示的圖像和/或視頻文本數據顯示在UITableView。現在我有一個要求,即數據必須可以脫機使用。每當我有一個連接,即正在下載新數據時,我正在考慮保存和存儲數據。如何實現這一點 - 將數據存儲在MySQL表或任何其他解決方案中。請注意,我正在使用AFNetworking在uiimageview中流式傳輸圖像。圖像和視頻應該存儲爲blob是本地mysql數據庫?請注意我的項目沒有使用coredata。如何將圖像和/或視頻離線存儲JSON數據?

回答

0

最好的方法可能是將媒體文件下載並存儲在caches目錄中。

然後,當你需要訪問一個文件時,你可以檢查它是否存在,如果有,使用它,如果沒有,則以任何你需要的方式處理這個條件。

NSFileManager *fileManager = [NSFileManager defaultManager]; 
NSString *cachePath = [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) objectAtIndex:0]; 
if(![fileManager fileExistsAtPath:[cachePath stringByAppendingPathComponent:@"myfile.zip"]]) { 
    //create it, copy it from app bundle, download it etc. 
} 
//start using it 

緩存目錄沒有備份與您的應用程序的其他部分,所以如果你有大量的文件,你會不會影響到用戶的備份存儲大小這樣。

如果你絕對必須在備份中的文件,而不是使用的caches目錄Documents目錄。

你說你使用的是AFNetworking,它可以將下載流傳輸到文件中,甚至支持將任務轉換爲後臺操作,以便在應用程序關閉後完成。

+0

非常感謝您的回覆。你的意思是我應該將圖像和JSON數據存儲在緩存目錄中? – veereev

+0

這是正確的Veereef。將圖像和json數據存儲在緩存目錄中,然後在訪問它們之前檢查它們是否在那裏。如果沒有,請下載它們。 – Jeff

+0

謝謝你會按照建議去做。 – veereev