0

cocoa でプロパティを持つ単純なデータ オブジェクトを表現する最も適切な方法は何なのか、私にはよくわかりません。

Java では、Java Bean を使用してこのようなオブジェクトを実装することは非常に理にかなっています。オブジェクトのすべてのプロパティを宣言し、これらのプロパティごとにゲッターとセッターを作成します。

ココアでは、同じアプローチに従うことができます。ただし、NSDictionary を使用することもできます。どのアプローチが最も理にかなっていますか?

具体的な例を挙げると、車軸の数と色という 2 つのプロパティを持つ車両を表す最も「適切な」方法は何ですか? NSObject をサブクラス化し、numberOfAxles と color の 2 つのプロパティを持つ Vehicle クラスを作成しますか? 2 つのキーを持つ NSDictionary のサブクラスを作成しますか?

前者のアプローチの方がすっきりしているように見えますが、Apple のコード サンプル (UICatalog など) を見ると、データ ソースを表す辞書の配列がいたるところに見られます。私には奇妙に思えます。単純で自己完結型の例のコンテキストでは実用的である、NSDictionary がデータ オブジェクトを表現するための迅速で汚れた方法を提供しているという理由だけでしょうか?

4

2 に答える 2

0

それは主にあなたが好むものに依存します。単純なデータ構造を格納するだけであれば、NSDictionaryは問題ありません。データ構造にロジックを追加する場合は、クラスを使用します。

于 2011-05-01T03:45:19.493 に答える
0

単純に車両を表現したい場合 (将来の拡張機能などはなく、機能もありません)、辞書を使用しても問題ありません。(ただし、Vehicle クラスを使用します)

また、Apple の例は、API/SDK の使用法のみを示しています。99% のケースで、彼らはデザイン パターンや Objective-C 言語を教えることを目的としていません。

于 2011-05-01T03:52:45.560 に答える