iOS開發之資料儲存

2021-07-11 22:09:12 字數 2401 閱讀 4191

-xml屬性列表(plist)歸檔

-preference(偏好設定) 本質還是通過「plist」來儲存資料, 但是使用更簡單(無需關注檔案、資料夾路徑和名稱)

-nskeyedarchiver歸檔(nscoding) 把任何物件, 直接儲存為檔案的方式。

-sqlite3 當非常大量的資料儲存時使用

-core

data 就是對sqlite的封裝

- 獲取bundle路徑

nsstring *path = [nsbundle mainbundle].bundlepath;

-獲取沙盒路徑

nsstring *home = nshomedirectory();

-document          儲存應用執行時生成的需要持久化的資料

-library

caches 儲存應用執行時生成的需要持久化的資料

preferences 儲存應用的所有偏好設定

-temp 儲存應用執行時所需的臨時資料

//獲取caches資料夾

nsstring * cachespath = [nssearchpathfordirectoriesindomains(nscachesdirectory, nsuserdomainmask, no) lastobject];
nstemporarydirectory()
「歸檔」:是一種可以把任何物件,直接儲存為檔案的方式。

- 如果物件是nsstring、nsdictionary、nsarray、nsdata、nsnumber等型別,可以直接用nskeyedarchiver進行歸檔和恢復

- 不是所有的物件都可以直接用這種方法進行歸檔,只有遵守了nscoding協議的物件才可以

- nscoding協議有2個方法:

- encodewithcoder:

每次歸檔物件時,都會呼叫這個方法。一般在這個方法裡面指定如何歸檔物件中的每個例項變數,可以使用encodeobject:forkey:方法歸檔例項變數

- initwithcoder:

每次從檔案中恢復(解碼)物件時,都會呼叫這個方法。一般在這個方法裡面指定如何解碼檔案中的資料為物件的例項變數,可以使用decodeobject:forkey方法解碼例項變數

czperson.h

[x] 注意:改方法要遵守nscodiing協議

#import 

@inte***ce

czperson : nsobject

@property (nonatomic,copy) nsstring * name;

@property (nonatomic,copy) nsstring * phone;

@end

czperson.m

[x] 注意:實現nscodiing協議的方法*

#import "czperson.h"

@implementation

czperson

//確定要儲存物件的哪些屬性

- (void)encodewithcoder:(nscoder *)acoder

//確定要讀取物件的哪些屬性

- (id)initwithcoder:(nscoder *)adecoder

return

self;

}@end

viewcontroller.m

#import "viewcontroller.h"

#import "czperson.h"

@inte***ce

viewcontroller ()

@end

@implementation

viewcontroller

- (void)viewdidload

//歸檔 (序列化)

- (void) test01

- (void)didreceivememorywarning

@end

viewcontroller.h

#import "viewcontroller.h"

#import "czperson.h"

@inte***ce

viewcontroller ()

@end

@implementation

viewcontroller

- (void)viewdidload

//歸檔 (序列化)

- (void) test01

@end

iOS開發之資料儲存之NSData

1 概述 使用archiverootobject tofile 方法可以將乙個物件直接寫入到乙個檔案中,但有時候可能想將多個物件寫入到同乙個檔案中,那麼就要使用nsdata來進行歸檔物件。nsdata可以為一些資料提供臨時儲存空間,以便隨後寫入檔案,或者存放從磁碟讀取的檔案內容。可以使用 nsmut...

iOS開發之資料儲存之NSData

1 概述 使用archiverootobject tofile 方法可以將乙個物件直接寫入到乙個檔案中,但有時候可能想將多個物件寫入到同乙個檔案中,那麼就要使用nsdata來進行歸檔物件。nsdata可以為一些資料提供臨時儲存空間,以便隨後寫入檔案,或者存放從磁碟讀取的檔案內容。可以使用 nsmut...

資料儲存 IOS開發

常見的資料儲存方式 plist格式檔案儲存 propertlist屬性列表 nsuserdefaults儲存 解歸檔儲存 nskeyedarchiver歸檔 nskeyedunarchiver解檔 資料庫 sqlite3,基於sqlite3的fmdb,coredata plist檔案 nsuserd...