詳解iPhone應用開發中快取檔案

來源:互聯網
上載者:User

iPhone應用開發中快取檔案是本文要介紹的內容,在iPhone應用程式中,我們經常要用去網路下載一些檔案,比如xml,圖片等等!但是往往我們經常是需要反覆讀取這部分資料,或者我們要寫一些檔案在沙箱中,供下次開啟程式的時候使用,這時候我們就需要用到快取檔案讀寫檔案),今天和大家分享一個Demo,用來緩衝從網上下載下來的圖片和xml;

項目背景:

下載從網路下載圖片,並寫在temp目錄下,temp目錄下的檔案在程式退出時會被清空,所以用來寫本次要用的緩衝內容很合適我這麼覺得)。
1、從一個url下載圖片

 
  1. NSURL *url = [NSURL URLWithString:@"http://*****.png"];  
  2. NSData *data = [NSData dataWithContentsOfURL:url];  
  3. UIImage *img = [UIImage imageWithData:data]; 

註:這是一種最普通最普通的圖片下載方式,這種方式不太好,稍後我將和大家分享一下其他的下載方式

2、擷取temp目錄

 
  1. -(NSString *)GetTempPath:(NSString*)filename{  
  2. NSString *tempPath = NSTemporaryDirectory();  
  3. return [tempPath stringByAppendingPathComponent:filename];  

我們將要緩衝的圖片名傳進去,得到完整的temp路徑

3、將資料寫入改路徑

 
  1. [data writeToFile:[self GetTempPath:@"test.png"] atomically:NO]; 

這裡用到NSData的writeToFile方法,可以在API中找到更詳細的解釋

第一個參數:將資料寫入的路徑

第二個參數:是否覆蓋原有檔案YES為覆蓋 NO則相反

方法返回一個BOOL類型的值,YES表示寫入成功

4、判斷路徑下的檔案是否已經存在

 
  1. -(BOOL)isExistsFile:(NSString *)filepath{  
  2. NSFileManager *filemanage = [NSFileManager defaultManager];  
  3. return [filemanage fileExistsAtPath:filepath];  
  4. }  
  5. BOOL exist = [self isExistsFile:[self GetTempPath:@"test.png"]]; 

exist=YES表示檔案已經存在

NO表示不存在

到這裡,同類的問題都可以解決了吧。當然不僅僅是可以將圖片儲存到temp目錄,其他的檔案也行。當然也可以儲存在document目錄,這樣我們可以長時間持有它。稍後將和大家分享document目錄下的儲存讀取操作!

小結:詳解iPhone應用開發中快取檔案的內容介紹完了,希望本文對你有所協助!

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.