В настоящее время я пытаюсь сохранить собственный класс Swift в NSUserDefaults. Вот код с моей игровой площадки:
import Foundation
class 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')»
Кто-нибудь может помочь? Я использую Xcode 6.0.1 на Maverick. Благодарю.