swift 工程中要保存类对象数组,经综合考虑选用 UserDefaults 及 NSSecureCoding 保存类对象数组。首先定义类:
class TimeData:NSObject, NSSecureCoding {
static var supportsSecureCoding: Bool { return true } // 需要添加这个静态属性
var time: Date
var milliSecond: Int
var appIndex: Int
var state: Bool
// 如果定义一个实例 TimeData,打印结果将是这里定义的描述字符串
var descirption: String {
return "\(self.time) \(self.milliSecond) \(appIndex) \(state)"
}
// TimeData 类的构造方法
required init(time:Date=Date(), milliSecond:Int=0, appIndex:Int = -1,state:Bool=true) {
self.time = time
self.milliSecond = milliSecond
self.appIndex = appIndex
self.state = state
}
// 实现 NSCoding 协议中的 init 和 encode 方法
// 由 object 解码回来
required init(coder decoder: NSCoder) {
// 注意这里返回的是 NSDate 类型
self.time = decoder.decodeObject(of: NSDate.self, forKey