用於儲存建立工程時 開發過程中 所新增的檔案或**等所有內容
開發過程中可以修改資料夾的內容 在執行過程中不可以修改
2 documents
在整個應用程式的生命週期內 將程式的資料存到蘋果官方的資料中 一般儲存資料庫
3 library
存放快取
4tmp
臨時性儲存
向本地儲存資料的過程
系統自帶的資料型別儲存: {
直接儲存 獲得儲存路徑-新增字尾-儲存
直接讀取 獲得儲存路徑- 根據字尾找到完整路徑-讀取 }
自定義型別的資料儲存: {
自定義類遵循 nscoding協議
實現協議的方法
儲存:給自定義型別加碼**化為nsdata型別)-獲得儲存路徑-新增字尾-通過nsdata型別儲存
讀取:獲得儲存路徑- 根據字尾找到完整路徑-讀取資料(用nsdata型別接收)-解碼(將nsdata型別轉換為自定義型別)
#import
@inte***ce mainviewcontroller : uiviewcontroller
@end
#import "mainviewcontroller.h"
#import "student.h"
@inte***ce mainviewcontroller ()
@end
@implementation mainviewcontroller
- (void)dealloc
- (id)initwithnibname:(nsstring *)nibnameornil bundle:(nsbundle *)nibbundleornil
return self; }
- (void)loadview
- (void)viewdidload
- (void)searchdocumentpath
- (void)writestring
}- (void)readstring
- (void)writearray
- (void)readarray
- (void)writedic
- (void)readdic
- (void)addwritestring
//nsdata
- (void)writedata
- (void)readdata
- (void)writeuserdefaults
- (void)readuserdefaults
//複雜型別物件儲存
//歸檔即將自己建立的model類物件轉換為二進位制格式通過二進位制格式進行儲存
- (void)archiveobject
//解檔將歸檔後的二進位制檔案解檔為相對應的model型別物件
- (void)unarchiveobject
@end
#import
@inte***ce student : nsobject
@property (nonatomic,retain) nsstring *name;
@property (nonatomic,retain) nsstring ****;
@property (nonatomic,assign) nsinteger age;
//- (id)initwithname : (nsstring *)name *** : (nsstring *)*** age : (nsinteger)age;
//+ (id)studentwithname :(nsstring *)name *** : (nsstring *)*** age : (nsinteger)age;
@end
#import "student.h"
@implementation student
- (void)dealloc
- (id)init
return self;
}//序列化或歸檔協議
- (void)encodewithcoder:(nscoder *)acoder
//解檔或反序列化
- (id)initwithcoder:(nscoder *)adecoder
return self;
}@end
IOS中的本地儲存
資料本地儲存的本質其實就是把資料儲存成檔案,儲存到程式的沙盒中.ios中的沙盒機制是一種安全機制 沙盒的本質 其實也是資料夾 通常沙盒中包含四個資料夾bundle,document,library,tmp 1.bundle bundle裡面存放的是 資源檔案 和配置檔案.注 內容在程式執行期間為唯讀...
Ios本地儲存(筆記)
乙個應用程式包含以下三個檔案 nsbundle 包 nsbundle資料夾 用來儲存建立工程時候,或者是開發時候所新增的檔案和 也就是工程中左面所有多東西 在 執行的過程中,裡面的所有東西是全都不能修改。documents資料夾 儲存的是在整個應用程式生命週期內一直存在的內容 5g以內 libray...
iOS專案本地儲存NSUserDefault的改進
隨著專案的體積增加,功能增多,從一開始幾個地方使用。到多個地方使用,甚至有幾十處,反正就是有需要的時候就拿來用一下,反正a和b同時管理專案的時候注意儲存時存入不同的key值就可以了。但是這樣至少讓專案看起來不美觀,整理的時候有一種雜亂的感覺,有的同學說,那我用乙個管理類統一管理。把setvaluef...