5

以下への準拠を必要とする 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 を使用する方法はありますか?

4

1 に答える 1