0

クラス A、B、C が異なるオブジェクトのコレクションがあります (すべて共通のスーパークラスを共有しています)。

// Encoded collection
@[A, B, C]

このコレクションは、NSCoding を介してアーカイブおよびアーカイブ解除されます。 クラスの 1 つがプロジェクトから削除された場合、このコレクションを部分的にアーカイブ解除する方法はありますか?

デコードできないオブジェクトに遭遇するとdecodeObjectForKey:、失敗してオブジェクトを返します。nil代わりに、デコードできるものだけを取得する方法はありますか? この動作がオブジェクトでは意味があるのに、コレクションでは意味がない理由を理解しています。

// Expected decoding when A class definition is missing:
@[B, C]

// Actual:
nil
4

1 に答える 1