【发布时间】:2018-09-07 09:55:09
【问题描述】:
swift MVC如何保存tableview数据?
如何将数据保存在另一个 ViewController 的表中?
我有一个名为 ToDoItem 的自定义类。
func save() {
let encodedData: Data = NSKeyedArchiver.archivedData(withRootObject: ToDoItem.self)
UserDefaults.standard.set(encodedData, forKey: "todosave")
UserDefaults.standard.synchronize()
}
//
func load() {
if let decoded = UserDefaults.standard.object(forKey: "todosave") {
let _ = NSKeyedUnarchiver.unarchiveObject(with: decoded as! Data) as! [ToDoItem]
}
}
我尝试使用 NSUserDefaults 保存它,但出现错误。
ToDoItem.swift
import Foundation
class ToDoItem: NSObject, NSCoding {
var id: String
var image: String
var title: String
var date: Date
init(id: String, image: String, title: String, date: Date) {
self.id = id
self.image = image
self.title = title
self.date = date
}
required convenience init(coder aDecoder: NSCoder) {
let id = aDecoder.decodeObject(forKey: "id") as! String
let image = aDecoder.decodeObject(forKey: "image") as! String
let title = aDecoder.decodeObject(forKey: "title") as! String
let date = aDecoder.decodeObject(forKey: "date") as! Date
self.init(id: id, image: image, title: title, date: date)
}
func encode(with aCoder: NSCoder) {
aCoder.encode(id, forKey: "id")
aCoder.encode(image, forKey: "image")
aCoder.encode(title, forKey: "title")
aCoder.encode(date, forKey: "date")
}
}
【问题讨论】:
-
您的问题具有误导性。请澄清一下
-
什么错误。你有吗?
-
@Sergiob 我如何在 UserDefaults 中保存这个日期?
-
@Lenin App 在启动时崩溃
-
UserDefaults 有保存日期的方法
标签: ios swift xcode model-view-controller