-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...