0

私は iOS プログラミングを学んでおり、自分のアプリケーションに使用するのに最も適したクラス、NSDictionaryまたはCore Data. 一連の属性を持つレコードの配列を作成できるようにしたいと考えています。

たとえば、名前: Joe Citizen、年齢: 38、性別: 男性、職業: 飼育係、都市: シドニーなどです。

1 つ以上の属性を持つレコードをランダムに選択できるようにしたいと考えています。昨夜NSDictionary、私は、プロパティをビット マップされた単語に埋め込み、それを文字列に変換し、その文字列に文字列を追加して、k_stringbitpattern_uniquenumber. ランダムな識別子を取得するには、乱数を生成し、マスクし、文字列に変換するなどして、面倒すぎることに気付きました。

私は iOS プログラミングが初めてで、速度、メモリ使用量、エレガンス、および再利用を考慮しようとしています。ベテランの意見を得ることは役に立ちます。

私の用語の使用が厳密に正しくない場合 (つまり、レコードの配列) は、事前にお詫び申し上げます。そうそう、レコードは読み取り専用なので、後でアプリを拡張して Web サイトからデータを取得できるようにしたいと考えています。有益なコメントをいただければ幸いです。

4

1 に答える 1

1

これは実際には、programmers.stackexchange.comに対する質問です。

これに対する私の答えは、可能な限りシンプルで理解しやすいモデルを構築し、最適化について心配する必要はありません。

あなたの場合、NSArray普通の古いObjective-Cオブジェクトをお勧めします。オブジェクト クラスで、すべての属性をプロパティにします。NSNumber数字の代わりに、NSIntegerまたは数字の代わりに使用intします。検索は単純な for ループまたは-filteredArrayUsingPredicate:.

後で、パフォーマンスのニーズに基づいている場合、Core Data への切り替えはそれほど苦痛ではありません。MagicalRecordを調べます。これは、Core Data の複雑さを簡素化するために切望されていたものです。

NSDictionary で独自のインデックスを作成することはお勧めしません。その時点で、独自のデータベースを作成し始めています。他の人がその問題を解決しました。

于 2013-05-19T12:42:07.007 に答える