현재 사용자 지정 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'유형의 개체를 포함 할 수 없음)"
아무도 도울 수 있습니까? Maverick에서 Xcode 6.0.1을 사용하고 있습니다. 감사.