0
我使用tableview顯示視頻,並希望將URL /數據保存在緩存中,因此用戶在重播時不必再次下載相同的視頻。在桌面視圖中緩存和保存視頻
但是,我想保留他們,直到用戶退出應用程序。下次他打開應用程序時,他必須再次下載它們,所以我只需要將它們保存爲應用程序的活動生命週期。
我還應該做緩存還是有更有效的方法來做到這一點?
-(void)loadVideo:(NSString *)urlString {
NSURL *url = [NSURL URLWithString:urlString];
NSString* cachePath = [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) objectAtIndex:0];
NSString* file = [cachePath stringByAppendingPathComponent:@"/EGOCache.plist"];
NSDictionary *dict =[NSDictionary dictionaryWithContentsOfFile:file];
if ([dict objectForKey:urlString])
{
NSData *data = [[EGOCache globalCache] dataForKey:urlString];
data = [NSURLConnection sendSynchronousRequest:
[NSURLRequest requestWithURL:url]
returningResponse:nil
error:nil];
NSLog(@"loading from cache %@",urlString);
}else{
NSData *data = [NSURLConnection sendSynchronousRequest:
[NSURLRequest requestWithURL:url]
returningResponse:nil
error:nil];
[[EGOCache globalCache] setData:data forKey:urlString];
NSLog(@"saving cache %@",urlString);
}
NSURLRequest *request = [NSURLRequest requestWithURL:url cachePolicy:NSURLRequestReturnCacheDataElseLoad timeoutInterval: 10.0];
[self.videoPlayer setContentURL:[request URL]];}
我使用的MPMoviePlayerController。還有其他建議嗎? – durazno
更新了我的回答 – bsarrazin
我不明白你的意思是URL-TO-FILE-ON-DISK。更新了問題。 (順便說一句,我的代碼有問題,我認爲它不會保存在緩存中) – durazno