我有一个需要遵守的 Objective-C 协议NSSecureCoding
:
@protocol MyProtocol <NSObject, NSSecureCoding>
…
@end
我有一个父对象,它存储对符合 的对象的引用MyProtocol
,并且我希望父对象也符合NSSecureCoding
. 当我尝试这个时:
required init?(coder aDecoder: NSCoder) {
if let childObject = aDecoder.decodeObject(of: MyProtocol.self, forKey: "childObject") {
self. childObject = childObject
} else {
return nil
}
}
我得到错误:'decodeObject(of:forKey:)' is unavailable in Swift: use generic 'decodeObjectOfClass(_:forKey:)'
。
如果您不知道您编码的对象的特定类,有什么方法可以使用 NSSecureCoding?