我试图用swift编码一个类中的数据,但是我的类包含另一个类。是否可以对第二个类进行编码?

最佳答案

当然。它也应该实现NSCoding。例如,我的fqgetpermissionoperation包含并编码/解码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
}

10-08 06:27