最好的方法可能是將媒體文件下載並存儲在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
,它可以將下載流傳輸到文件中,甚至支持將任務轉換爲後臺操作,以便在應用程序關閉後完成。
非常感謝您的回覆。你的意思是我應該將圖像和JSON數據存儲在緩存目錄中? – veereev
這是正確的Veereef。將圖像和json數據存儲在緩存目錄中,然後在訪問它們之前檢查它們是否在那裏。如果沒有,請下載它們。 – Jeff
謝謝你會按照建議去做。 – veereev