菜鳥初學IOS,整理一下擷取IOS各種沙箱路徑的方法__IOS

來源:互聯網
上載者:User

         在下初學IOS編程,有很多不懂以及不瞭解的地方,本著分享的精神,將自己學到用到的一些東西寫出來,如果有不正確的地方,希望大家指正。 

   本次講解的是IOS下各個檔案夾的相關知識。

   首先,我們應該知道,在IOS下,共有4個檔案夾,分別是documents,tmp,app,Library,其中app我們一般比較少接觸到,因為裡面都是一些應用程式,貌似由於簽名之類的原因,我們在運行時不能修改這個目錄的東西否則可能導致我們的應用無法正常運行(這部分我也不太懂,建議想要詳細瞭解的童鞋再去查一下吧)。

   而documents這個目錄,用於儲存使用者資料等相關資訊,也是我們主要應用的目錄。

   tmp 目錄:這個目錄就和它的名字一樣,就是用於存放臨時檔案以及一些暫時不需要的資訊的。

   library目錄,下設兩個收下,分別是Caches 和 Preferences,其中Preferences 目錄用於存放應用程式的喜好設定檔案。而Caches 目錄:用於存放應用程式專用的支援檔案。


  下面是擷取各個目錄的代碼:

   擷取Documents目錄路徑的方法:

NSString* documentPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0]; //1NSLog(@"%@", documentPath);//2
  上述中步驟1就是擷取document目錄的方法。而2的作用在於輸出這個路徑,用於檢測,這裡我對初學者稍微提一下我犯的錯誤,就是我曾經按照目錄逐層地去找那個檔案,結果無論如何都找不到,那是因為有一層檔案是隱藏的,所以如果你想手動去找一下的話,需要設定隱藏檔案可視,方法很簡單,在命令列輸入如下:

顯示:defaults write com.apple.finder AppleShowAllFiles -bool true
隱藏:defaults write com.apple.finder AppleShowAllFiles -bool false 

     當然,這裡只是順便科普一下顯示/取消隱藏檔案的做法,我是不建議大家手動去找的,大家只需要點擊finder,然後點擊“前往”,將地址複製進去就OK了,方便快捷。

   至於獲得其它的路徑的代碼,也是大同小異:

   擷取library目錄路徑:

NSString *librarytPath=[NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES) objectAtIndex:0];  
    擷取tmp目錄路徑:

NSString *tempPath=NSTemporaryDirectory();

  以上,就是常用的目錄路徑的擷取方法,那麼,當我們要具體獲得裡面的某一檔案的路徑的時候怎麼辦呢。以下

  

    NSString *fileName = @"1.txt";//1    NSString *localDir = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];//2    NSLog(@"%@", localDir);    NSString *filePath = [localDir stringByAppendingPathComponent:fileName];//3
        上述代碼中,第一步是寫下檔案的名稱,第二步是取得document的路徑,第三步就是取得檔案路徑啦。

     當然,這是我們明確知道檔案名稱的情況,或者我們要建立1.txt時候用到的,那麼在我們不知道裡面有什麼,且需要知道裡面都有些什麼的時候,可以用到下面的代碼:

NSString *path=[[NSString alloc] initWithString:localDir];NSFileManager * fileManager = [NSFileManager DefaultManager];NSArray  *arrayForFile = [fileManager  directoryContentsAtPath:path];

好啦,以上就是我在學習中用到的一些東西,如果有哪部分寫錯了,希望大家告訴我一下,我一定虛心改正。





   

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.