使用NSCoding将自定义Swift类保存到UserDefaults
我目前正在尝试将自定义Swift类保存到NSUserDefaults。这是我的Playground的代码:
import Foundationclass Blog : NSObject, NSCoding {
var blogName: String?
override init() {}
required init(coder aDecoder: NSCoder) {
if let blogName = aDecoder.decodeObjectForKey("blogName") as? String {
self.blogName = blogName }
}
func encodeWithCoder(aCoder: NSCoder) {
if let blogName = self.blogName {
aCoder.encodeObject(blogName, forKey: "blogName")
}
}}var blog = Blog()blog.blogName = "My Blog"let ud = NSUserDefaults.standardUserDefaults() ud.setObject(blog, forKey: "blog")当我运行代码时,我收到以下错误
执行被中断,原因:信号SIGABRT。
在最后一行(ud.setObject...)
在带有消息的应用程序中,相同的代码也会崩溃
“属性列表格式无效:200(属性列表不能包含'CFType'类型的对象)”
有人可以帮忙吗?我在Maverick上使用Xcode 6.0.1。谢谢。
动漫人物
森林海
ABOUTYOU