把資料儲存到本地

2021-07-09 06:51:40 字數 3154 閱讀 9480

student.h

#import 

@inte***ce

student : nsobject

@property(nonatomic,copy)nsstring *name;

@property(nonatomic,copy)nsstring ****;

@property(nonatomic,assign)nsinteger age;

@property(nonatomic,copy)nsstring *hobby;

@end

student.m

#import "student.h"

@implementation

student

//有兩個必須實現的協議方法,乙個是存入到本地的時候用

- (void)encodewithcoder:(nscoder *)acoder

//本地讀取時用

- (nullable instancetype)initwithcoder:(nscoder *)adecoder

return

self;

}-(void)setvalue:(id)value forundefinedkey:(nsstring *)key

@end

viewcontroller.m

#import "viewcontroller.h"

#import "student.h"

@inte***ce

viewcontroller ()

@end

@implementation

viewcontroller

- (void)viewdidload ;

// nsarray *sandbox=nssearchpathfordirectoriesindomains(nsdocumentdirectory, nsuserdomainmask, yes);

// nsstring *sandboxpath=sandbox[0];

// [dic writetofile:docpath atomically:yes];

// nsdictionary *newdic=[nsdictionary dictionarywithcontentsoffile:docpath];

// nslog(@"%@",newdic);

// student *stu=[[student alloc] init];

// stu.name=@"張三";

// stu.***=@"男";

// stu.age=18;

// stu.hobby=@"玩";

// //1.

// nsarray *sandbox=nssearchpathfordirectoriesindomains(nsdocumentdirectory, 1, yes);

// nsstring *sandboxpath=sandbox[0];

// //2.

// //3.歸檔

// [nskeyedarchiver archiverootobject:stu tofile:docpath];

//

// //4.反歸檔

// student *newstu = [nskeyedunarchiver unarchiveobjectwithfile:docpath];

// nslog(@"%@",newstu.name);

// nsarray *arr=@[@"1",@"2",@"3",@"4"];

// nsarray *sandbox=nssearchpathfordirectoriesindomains(nsdocumentdirectory, 1, yes);

// nsstring *sandboxpath=sandbox[0];

// [nskeyedarchiver archiverootobject:arr tofile:docpath];

// nslog(@"%@",docpath);

// nsarray *newarr=[nskeyedunarchiver unarchiveobjectwithfile:docpath];

// nslog(@"%@",newarr);

//nsarray已經實現了nscoding協議,所以可以直接用歸檔和反歸檔

//如果陣列裡是字串這種簡單物件,用writetofiel和歸檔都可以,但如果陣列裡放的是student這種自定義物件,只能用歸檔

student *stu1=[[student alloc] init];

stu1.name=@"張三";

student *stu2=[[student alloc] init];

stu2.name=@"李四";

student *stu3=[[student alloc] init];

stu3.name=@"王五";

nsarray *arr=@[stu1,stu2,stu3];

nsarray *sandbox=nssearchpathfordirectoriesindomains(nsdocumentdirectory, 1, yes);

nsstring *sandboxpath=sandbox[0];

[nskeyedarchiver archiverootobject:arr tofile:docpath];

nsarray *newarr= [nskeyedunarchiver unarchiveobjectwithfile:docpath];

for (student *stu in newarr)

}

nsuserdefaults

nsuserdefaults *defaulte=[nsuserdefaults standarduserdefaults];

[defaulte setobject:@"1" forkey:@"2"];

nslog(@"%@",docpath);

nslog(@"%@",[defaulte objectforkey:@"2"]);

資料持久化 資料儲存到本地

蘋果手機為了保證自己的資料上的絕對安全.設計了沙盒檔案,每乙個應用程式都配備了自己的沙盒檔案,每一次執行,資料夾的名字就會變成乙個沒有任何規律的字串,第乙個引數 當前要前往哪乙個資料夾,前往 documents 檔案用 nsdocumentdirectory,64行那個,還可以前往caches資料夾...

ajax將後端資料儲存到本地

在前後端分離中,如何辨別使用者和判斷使用者是否登入需要token或者cookie的驗證來判斷使用者的時效性,將後端返回的標識資料儲存到本地,每次請求後端都攜帶該資料以此來分別使用者 ajax 重點必須為乙個變數如 data contenttype success function data if d...

spark儲存到本地檔案

spark dataframe儲存到本地csv或者txt,會基於hahoop儲存為乙個資料夾如a.csv資料夾。為了儲存為單一檔案的方式如下 1.df.coalesce 1 write.csv result.csv coalesce num returns a newdataframethat ha...