コンテキストを提供するために、私は iOS/Objective-C を初めて使用し、Web 開発 (Ruby/JS/C#) のバックグラウンドを持っています。クラスがどのように機能するかは理解していますが、元の実装者が、エンコードとデコードの両方のロジックを 1 つのクラスに統合する代わりに、これら 2 つのクラス (NSKeyedArchiver
と) を作成した理由がわかりません。NSKeyedUnarchiver
抽象クラスaのApple ドキュメントをNSCoder
読むにはNSCoder
、エンコードとデコードの両方のメソッドがあります。私が考えることができる唯一のことは、コードが長いため、元の実装者が2つに分割したことです...単一のクラスのみを使用する方が開発者にとって便利だと思われますが、多分私は'これについて何か微妙なところがありません。では、これには何か歴史的な理由があるのでしょうか? NSCoder
エンコード/デコード API の両方を定義するという点で「便利」でしたが、エンコーダー/デコーダーに分離することを意図していましたか? aNSCoder
が何をすべきか誤解していますか?