iOS應用程式5種常見的儲存方式

2021-07-15 20:42:26 字數 2085 閱讀 8254

xml 屬性列表(plist)歸檔;

//儲存

// 獲取應用沙盒路徑

nsstring *homepath = nshomedirectory();

nslog(@"%@",homepath);

// 獲取caches資料夾路徑

// directory:搜尋資料夾

// domainmask:在哪個範圍內搜尋 nsuserdomainmask:在使用者中查詢

// expandtilde: yes :在路徑展開 no:不展開路徑 ~:代替沙盒路徑

nsstring *cachespath = nssearchpathfordirectoriesindomains(nscachesdirectory, nsuserdomainmask, yes)[0];

//    nsstring *cachespath = nssearchpathfordirectoriesindomains(nscachesdirectory, nsuserdomainmask, yes)[0];

// 拼接檔名

[arr writetofile:filepath atomically:yes];

//讀取

nsstring *cachespath = nssearchpathfordirectoriesindomains(nscachesdirectory, nsuserdomainmask, yes)[0];

// 拼接檔名

// 讀取:以什麼形式儲存就以什麼形式讀取

nsarray *arr = [nsarray arraywithcontentsoffile:filepath];

nslog(@"%@",arr);

preference(偏好設定)

//儲存

// 偏好設定儲存 nsuserdefaults

// 什麼時候使用偏好設定儲存

// 偏好設定好處,1.快速進行鍵值對的儲存2.不關係檔名

//  獲取nsuserdefaults單例物件

nsuserdefaults *defaults = [nsuserdefaults standarduserdefaults];

// @"123" @"num"

[defaults setobject:@"123" forkey:@"num"];

// bool,int yes ison

[defaults setbool:yes forkey:@"ison"];

//讀取

nsstring *num = [[nsuserdefaults standarduserdefaults] objectforkey:@"num"];

bool ison =  [[nsuserdefaults standarduserdefaults] boolforkey:@"ison"];

nslog(@"*****=>%@",num);

nslog(@"ison value: %@" ,ison?@"yes":@"no");

nskeyedarchiver(歸檔)(nscoding)

sqlite3

core data

應用沙盒

每個ios都有自己的應用沙盒(應用沙盒就是檔案系統目錄),與其它檔案系統隔離。應用必須待在自己的沙盒裡,其他應用不能訪問該沙盒。

documents:儲存應用執行時聲稱的需要持久話的資料,itunes同步裝置時會備份該目錄,例如,遊戲應用可講遊戲存檔儲存在該目錄,平常不會把檔案儲存到此資料夾。

tmp:儲存應用執行時所需的臨時資料,使用完畢後再將響應的檔案從該目錄刪除。應用程式沒有執行時,系統也可能會清楚該目錄下的檔案。itunes同步裝置時不會被分該目錄。

library/caches 儲存應用執行時聲稱的需要持久話的資料,itunes同步裝置時不會被分該目錄。一般儲存體積大,不需要被分的非重要資料

library/preference:儲存應用的所有偏好設定,ios 的settings(設定)應用會在該目錄中查詢應用的設定資訊,itunes同步裝置時會備份該目錄

IOS應用程式的5中狀態

didfinishlaunchingwithoptions 應用啟動並進行初始化時會呼叫該方法並發出通知。這個階段會例項化根檢視控制器 應用進入前台並處於活動狀態時呼叫該方法並發出通知。這個階段可以恢復ui的狀態 例如遊戲狀態等 應用從活動狀態進入到非活動狀態時呼叫該方法並發出通知。這個階段可以儲存...

PHP應用程式中5種最常見的設計模式

如果您認為第一模式是singleton,那麼您將被解雇!singleton模式已被棄用,不再需要甚至討厭。讓我們看看這些天php世界中最常用的5種設計模式。要構建物件時,應使用工廠。是的 構建而不是建立 您不想僅僅為了建立乙個新物件就擁有乙個工廠。構建物件時,首先建立它,然後對其進行初始化。通常,它...

常見的應用程式模式

b 容器模式 b container pattern 用於具有類似外掛程式結構的應用,對眾多小型實用性的應用程式提供支援。b 聚合器模式 b aggregator pattern 用於將通常沒有聯絡的資料組合到乙個介面中的應用程式。b 工作區模式 b workspace pattern 用於提供乙個...