沙盒機制

沙盒機制
    1.每一個APP安裝到手機上(或者模擬器上)都會自動生成3個文件夾這三個文件夾(Documents ,Library(Caches ,Preferences), tmp) 可以理解爲這個App的沙盒
    2.並且 每個APP的文件夾都是相對獨立的只能自己的應用去訪問 不可以互相訪問
    3.文件夾中 存儲的是代碼以外的所有數據 例如(圖片素材聲音視頻 文檔等)也就是說咱們的持久化文件(緩存文件)可以存儲到文件夾中
-----------------------------------------------------------------------

打印沙盒的各個文件夾路徑
- (void)path
{

    每一次運行的時候(在重新運行模擬器中) 都是重新安裝的過程 
    都會隨機生成一個新的沙盒路徑(名字是隨機的)
    
注意:要獲取的是當前的沙盒路徑
     
   打印沙盒主路徑
   NSString *appPath =NSHomeDirectory();
   
NSLog(@"%@",appPath);
   
    Documents 文件夾
   可以被iTunes備份可以保存一些用戶的數據及緩存文件等
   NSDocumentDirectory要獲取的文件夾路徑
   NSUserDomainMask搜索範圍
   YES是否獲取全路徑
   NSArray *documents = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,NO);
   
NSString *documentsPath = [documents lastObject];
   
   
NSLog(@"%@",documentsPath);
   
    獲取Library文件夾路徑
   Library可以被iTunes備份
   Caches主要存儲系統緩存文件
   Preferences系統配置文件
   NSArray *library =NSSearchPathForDirectoriesInDomains(NSLibraryDirectory,NSUserDomainMask,YES);
   
NSString *libraryPath = [library firstObject];
   
NSLog(@"%@",libraryPath);
   
    獲取tmp文件夾
    主要存儲臨時文件
    當手機重新啓動時 該文件夾的文件會被刪除
    (有可能不重啓也會被刪除)
   NSString *tmp =NSTemporaryDirectory();
   
NSLog(@"%@",tmp);
   
}
-----------------------------------------------------------------------


簡單對象的寫入
系統的類實例出來的對象叫簡單對象
例如:字符串 字典 數組 二進制對象(NSData)
如果要寫入一個數組或者字典等容器類對象
那麼這個容器當中也要保存是簡單對象才能寫入
- (void)writeFile
{
    把字符串存儲到沙盒當中
   NSString *str =@"第一章盤古開天";
    xiaoshuo.txt
   拼接文件存儲的路徑
   
   
NSArray *documents = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES);
   
NSString *documentPath = [documents firstObject];
   
   
NSString *filePath = [documentPathstringByAppendingPathComponent:@"/xiaoshuo.txt"];
   
NSLog(@"%@",filePath);
   
    進行簡單對象的寫入
     atomically保護寫入作用
    在寫入過程中出現意外情況也可以寫入成功
   [strwriteToFile:filePathatomically:YESencoding:NSUTF8StringEncodingerror:nil];
   
 
寫入一個數組
   NSArray *array = @[@"
發佈了32 篇原創文章 · 獲贊 0 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章