亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

IOS 基本文件操作實例詳解

 更新時間:2017年06月28日 09:31:34   投稿:lqh  
這篇文章主要介紹了IOS 基本文件操作實例詳解 的相關(guān)資料,需要的朋友可以參考下

IOS 基本文件操作實例詳解

在iOS的App沙盒中,Documents和Library/Preferences都會被備份到iCloud,因此只適合放置一些記錄文件,例如plist、數(shù)據(jù)庫文件。緩存一般放置到Library/Caches,tmp文件夾會被系統(tǒng)隨機(jī)清除,不適宜防止數(shù)據(jù)。

【圖片緩存的清除】

在使用SDWebImage時,圖片被大量的緩存,有時需要獲取緩存的大小以及清除緩存。

要獲取緩存大小,使用SDImageCache單例的getSize方法拿到byte為單位的緩存大小,注意計算時按1K=1000計算。

拿到M為單位的文件大小的方法,如下:

double size = [[SDImageCache sharedImageCache] getSize] / 1000.0 / 1000.0; 

要清除緩存,調(diào)用clearDisk方法,分為有回調(diào)和無回調(diào)。

因為清除緩存的時間可能會比較長,因此應(yīng)該用指示器予以指示。

[[SDImageCache sharedImageCache] clearDiskOnCompletion:^{ 
     
  // 清除完畢的處理。 
     
}]; 

【文件夾大小計算】

使用NSFileManager可以拿到文件的屬性,如果文件是目錄,拿到的FileSize是沒有意義的,因為目錄的大小需要遞歸計算,不宜作為一個靜態(tài)屬性。因此只有文件的FileSize屬性才是文件的大小。

為了計算文件夾的大小,應(yīng)該遞歸內(nèi)部所有文件,還好蘋果官方集成了遞歸方法,通過遞歸可以拿到所有的目錄和所有的文件,只要利用FileManager的方法判斷是否是文件,如果是文件則拿到FileSize屬性累加,就能計算出文件夾的大小,如下:

需要注意的是遍歷出來的文件是以Caches為根目錄的,因此獲取屬性時應(yīng)該拼接出全路徑。

- (void)fileSize{ 
 
  NSFileManager *manager = [NSFileManager defaultManager]; 
   
  NSString *cachePath = [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) lastObject]; 
   
  NSArray *files = [manager subpathsOfDirectoryAtPath:cachePath error:nil]; // 遞歸所有子路徑 
   
  NSInteger totalSize = 0; 
   
  for (NSString *filePath in files) { 
    NSString *path = [cachePath stringByAppendingPathComponent:filePath]; 
    // 判斷是否為文件 
    BOOL isDir = NO; 
    [manager fileExistsAtPath:path isDirectory:&isDir]; 
    if (!isDir) { 
      NSDictionary *attrs = [manager attributesOfItemAtPath:path error:nil]; 
      totalSize += [attrs[NSFileSize] integerValue]; 
    } 
  } 
   
  NSLog(@"%d",totalSize); 
   
} 


感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

相關(guān)文章

  • iOS界面布局簡化UIStackView使用詳解

    iOS界面布局簡化UIStackView使用詳解

    這篇文章主要為大家介紹了iOS界面布局簡化UIStackView使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-09-09
  • iOS應(yīng)用進(jìn)入后臺后計時器和位置更新停止問題的解決辦法

    iOS應(yīng)用進(jìn)入后臺后計時器和位置更新停止問題的解決辦法

    這篇文章主要介紹了iOS應(yīng)用進(jìn)入后臺后計時器和位置更新停止問題的解決辦法,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2017-03-03
  • iOS中的通知機(jī)制

    iOS中的通知機(jī)制

    網(wǎng)上經(jīng)常說iOS的通知機(jī)制是使用了觀察者模式,里面有兩個角色,其一是poster(發(fā)送者),另一個是observer(接受信息的訂閱者)。接下來通過本文給大家介紹iOS中的通知機(jī)制,感興趣的朋友一起學(xué)習(xí)吧
    2016-04-04
  • IOS中UIWebView加載Loading的實現(xiàn)方法

    IOS中UIWebView加載Loading的實現(xiàn)方法

    最近有朋友問我類似微信語音播放的喇叭動畫和界面圖片加載loading界面是怎樣實現(xiàn)的,是不是就是一個gif圖片呢!我的回答當(dāng)然是否定了,當(dāng)然不排除也有人用gif圖片啊!
    2015-05-05
  • IOS實現(xiàn)上滑隱藏NvaigtionBar而下拉則顯示效果

    IOS實現(xiàn)上滑隱藏NvaigtionBar而下拉則顯示效果

    這篇文章給大家介紹了如何實現(xiàn)APP上滑時隱藏navigationBar而下拉則又會顯示,雖然也是隱藏但是效果和其他完全不一樣,因為以前沒做過所以試著去實現(xiàn)一下,現(xiàn)在分享給大家,有需要的可以參考借鑒。
    2016-09-09
  • iOS利用MJRefresh實現(xiàn)自定義刷新動畫效果

    iOS利用MJRefresh實現(xiàn)自定義刷新動畫效果

    本文主要介紹iOS 利用MJRefresh實現(xiàn)自定義動畫的上拉刷新下拉加載效果,要想實現(xiàn)此功能,首先得有一套load的圖片數(shù)組。接下來通過本文給大家詳解介紹實現(xiàn)過程
    2017-02-02
  • IOS上實現(xiàn)的自定義儀表盤示例

    IOS上實現(xiàn)的自定義儀表盤示例

    本篇文章主要介紹了IOS上實現(xiàn)的自定義儀表盤示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-01-01
  • IOS 使用NSAssert()和NSParameterAssert調(diào)試程序

    IOS 使用NSAssert()和NSParameterAssert調(diào)試程序

    這篇文章主要介紹了IOS 使用NSAssert()和NSParameterAssert調(diào)試程序的相關(guān)資料,需要的朋友可以參考下
    2017-06-06
  • iOS中Cell的Section展開和收起的示例代碼

    iOS中Cell的Section展開和收起的示例代碼

    本篇文章主要介紹了iOS中Cell的Section展開和收起的示例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-08-08
  • Swift 訪問權(quán)限的資料整理

    Swift 訪問權(quán)限的資料整理

    這篇文章主要介紹了Swift 訪問權(quán)限的資料整理的相關(guān)資料,希望通過本文大家能掌握這部分內(nèi)容,需要的朋友可以參考下
    2017-09-09

最新評論