クラス A、B、C が異なるオブジェクトのコレクションがあります (すべて共通のスーパークラスを共有しています)。
// Encoded collection
@[A, B, C]
このコレクションは、NSCoding を介してアーカイブおよびアーカイブ解除されます。 クラスの 1 つがプロジェクトから削除された場合、このコレクションを部分的にアーカイブ解除する方法はありますか?
デコードできないオブジェクトに遭遇するとdecodeObjectForKey:
、失敗してオブジェクトを返します。nil
代わりに、デコードできるものだけを取得する方法はありますか? この動作がオブジェクトでは意味があるのに、コレクションでは意味がない理由を理解しています。
// Expected decoding when A class definition is missing:
@[B, C]
// Actual:
nil