iOS_Apprentice_2_Checklists学习总结(6)输入/输出存储数据

ChecklistViewController:

func saveChecklistItem(){

let data = NSMUTableData()

let archive = NSKeyedArchiver(forWritingWithMutableData: data)

archiver.encodeObject(items, forKey: "ChecklistItems")

archiver.finishEncoding()

data.writeToFile(dataFilePath(), atomically: true)

}

将该方法以saveChecklistItems()的形式加入到需要存储数据的方法当中。


//初始化时调用loadChecklistItem()

required init(coder aDecoder: NSCoder) {

items = [ChecklistItem]()

super.init(coder:aDecoder)

loadChecklistItem()

}


//从“ChecklistItem”中提取数据

func loadChecklistItem() {

let data = dataFilePath()

if NSFileManager.defaultManager().fileExsistsAtPath(path) {

if let data = NSData(contentOfFile:path {

let unachiver= NSKeyedunachiver(forReadingWithData: data)

items = unachiver.decodeObjectForKey("ChecklistItems") as [ChecklistItem]

unachiver.finishDecoding()


ChecklistItem

//存储数据
class ChecklistItem: NSObject, NSCoding 

func encodeWithCoder(aCoder: NSCoder) {
aCoder.encodeObject(text, forKey: "Text")
aCoder.encodeBool(checked, forKey: "checked")
}

required init (coder adder: NSCoder) {
super.init()
}

override init() {
super.init()

//调取数据
required init (coder aDecoder: NSCoder) {
text = aDecoder.decodeObjectForKey("Text") as String
checked = aDecoder.decodeBoolForKey("Checked")
super.init()
}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值