2012-04-21 3 views
0

私は、実行時に(ユーザが作成した)新しいオブジェクトテンプレートを作成し、そのテンプレートを使用してリストを作成する新しいオブジェクトを作成する方法を理解しようとしています。たとえば、連絡先のリストが必要だとします。ユーザーは、名前、電話、電子メールなどを含むNSMutable配列の汎用オブジェクトを持つテンプレートを作成します。テンプレートの作成が完了したら、必要に応じてそのテンプレートに基づいて新しい連絡先を追加できます。テンプレート。すべてのテンプレートオブジェクトは、その内部にネストされた汎用オブジェクトと、異なるデータ型として設定された値を持つ汎用オブジェクトと、それらの汎用オブジェクトすべてが配列を含む別の汎用オブジェクトの内部に格納されます。私はこの音をあまりにも混乱させたくないと思っています...基本的に、実行時にカスタムオブジェクトテンプレートを作成し、それらを使用できるようにするだけです。誰もがこれに対する良いアプローチを知っていますか?私は誰のデータにも適用できるように、私のアプリでデータストレージを普遍化したいと考えています。ありがとう。実行時に新しいオブジェクトテンプレートを作成するiPhone

答えて

1

あなたの最終目標は正確にはわかりませんが、「Interface Builder」アプローチをとることができます。テンプレートを作成し、すべての要素をxml形式に変換するという視点があります。読み込むために必要なのはxmlを読み込み、適切なUI要素を作成し、コンテナビューの適切な場所に追加するだけです。このアプローチの1つの問題は、要素にデータを送信する必要がある場合、テンプレートにその型の複数の要素がある場合、正しい要素を取得することはほとんど不可能です。配列、辞書、またはxmlを使ってキー(要素の名前)と値(要素、これはxmlアプローチを使用する必要はありません)を格納することができます。これは混乱している場合はごめんなさい。

+0

これは、視覚的には良いアプローチであるように思えます。作成されたオブジェクトを格納するためにデータ構造を動的に作成する最善の方法は何でしょうか?多分入れ子になった辞書やそのような行に沿ったものを考えていたのですが、xmlテンプレートを使って何が含まれているかを知ることができました。 – Davido

+0

これにアプローチする良い方法は、辞書と配列を使うことです。私はこれを説明する方法はあまりよく分かりませんが、例を使用します:配列(ウィンドウ)と辞書のリスト(サブビュー)が含まれています。これらの辞書には、クラスの文字列や座標の配列などの属性があります。そのビューのサブビューの配列を持ち、データのすべてを表現できるようになるまで続きます。より小さなストレージのために、すべての値をNSValuesにラップすることも可能です。お役に立てれば。 –

1

iOSのディスクにオブジェクトを読み書きするには、実行可能なオプションがいくつかあります。最も有名で広く使われているのは、Core Data and Plistsです。

初心者の方は、カスタムオブジェクト 'テンプレート'の属性の配列を(おそらく文字列として)保存することをお勧めします。チュートリアルについてはhereを参照して、他に何かが出てくるかどうかを調べてください。

+0

コアデータは良いアプローチかもしれませんが、私はそれを一度も使用していないので、何が可能かは分かりません。私は、実行時にカスタムデータ構造体を作成し、これらのカスタム構造体の配列からデータを格納および取得する方法を理解しようとしています。 – Davido

関連する問題