iOS 用本地檔案儲存自定義模型

2021-07-16 21:28:01 字數 1710 閱讀 8358

在自定義模型中,要遵守協議

點h

#import @inte***ce chatlogmodel : nsobject@property(nonatomic,copy)nsstring *name;

@property(nonatomic,assign)bool isvideo;

@property(nonatomic,strong)nsstring *date;

@end

點m

#import "chatlogmodel.h"

#define name @"name"

#define isvideo @"isvideo"

#define date @"date"

@implementation chatlogmodel

- (void)encodewithcoder:(nscoder *)acoder

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

return self;

}@end

在使用的時候

-(void)storechatlogwithfile

nsmutablearray *chatlogarray = [nsmutablearray arraywithcontentsoffile:filepath];

if ((chatlogarray.count == 0))

// 要儲存的自定義模型

chatlogmodel *chatmodel = [[chatlogmodel alloc] init];

chatmodel.name = @"張三";

chatmodel.isvideo = yes;

// 獲取當前時間

nsdate *currentdate = [nsdate date];

nsdateformatter *formatter = [[nsdateformatter alloc] init];

[formatter setdateformat:@"mm-dd hh:mm:ss"];

nsstring *datestring = [formatter stringfromdate:currentdate];

chatmodel.date = datestring;

[chatlogarray addobject:chatmodel];

/* 這是正常的儲存和取出陣列內容到檔案

存[chatlogarray writetofile:filepath atomically:yes];

取nsmutablearray *array = [nsmutablearray arraywithcontentsoffile:filepath];*/

// 注意 陣列中儲存的是自定義模型,要想把陣列儲存在檔案中,應該用下面的方法

// 存

[nskeyedarchiver archiverootobject:chatlogarray tofile:filepath];

// 取

nsarray *array = [nskeyedunarchiver unarchiveobjectwithfile:filepath];

nslog(@"array:%@",array);

}

iOS 用xib自定義View

網上有很多關於實現用xib自定義view,那我為什麼還要寫呢?第一,我用他們的方法都沒有實現。第二,用xib遇到了很多問題,想分享給大家。用xib自定義view fhcustomview 1.新建uiview 2.建乙個同名xib fhcustomview.xib 3.配置fhcustomview....

ios 資料持久化之自定義模型的儲存

開通微博第一天 謝謝支援 資料持久化之nskeyedarchiver 基本的資料型別如 nsstring nsdictionary nsarray nsdata nsnumber等可以用屬性列表的方法持久化到.plist 檔案中,但如果是一些自定義的類的話,屬性列表的方法就不管用了。archiver...

iOS 使用本地推送實現自定義鬧鐘

需求 從伺服器獲取到一組時間,都設定成鬧鈴,預設是每天迴圈不可修改,同時可以自定義鬧鈴,可選擇週幾迴圈。可以設定開啟關閉或者刪除。一.固定鬧鐘,每天迴圈。很簡單,將需要設定成鬧鐘的時間放入乙個陣列中,通過for迴圈設定成對應的本地推送,詳情見下面的 和注釋。void addlocalnotifica...