Swift 编码 class 包含另一个 class
Swift encode class containing another class
我正在尝试使用 swift 对 class 中的数据进行编码,但我的 class 包含另一个 class。是否可以编码第二个 class?
当然可以。它也应该实现 NSCoding
。例如,我的 FQGetPermissionOperation 包括 encodes/decodes FQUploadTask 对象。 FQUploadTask同样实现了NSCoding,继承了NSObject。
class FQGetPermissionOperation : NSObject, NSCoding {
let uploadTask: FQUploadTask
required init?(coder aDecoder: NSCoder) {
uploadTask = aDecoder.decodeObjectForKey("uploadTask") as! FQUploadTask
super.init(coder: aDecoder)
}
override func encodeWithCoder(aCoder: NSCoder) {
aCoder.encodeObject(uploadTask, forKey: "uploadTask")
super.encodeWithCoder(aCoder)
}
// Some other code
}
我正在尝试使用 swift 对 class 中的数据进行编码,但我的 class 包含另一个 class。是否可以编码第二个 class?
当然可以。它也应该实现 NSCoding
。例如,我的 FQGetPermissionOperation 包括 encodes/decodes FQUploadTask 对象。 FQUploadTask同样实现了NSCoding,继承了NSObject。
class FQGetPermissionOperation : NSObject, NSCoding {
let uploadTask: FQUploadTask
required init?(coder aDecoder: NSCoder) {
uploadTask = aDecoder.decodeObjectForKey("uploadTask") as! FQUploadTask
super.init(coder: aDecoder)
}
override func encodeWithCoder(aCoder: NSCoder) {
aCoder.encodeObject(uploadTask, forKey: "uploadTask")
super.encodeWithCoder(aCoder)
}
// Some other code
}