私は、実行時に(ユーザが作成した)新しいオブジェクトテンプレートを作成し、そのテンプレートを使用してリストを作成する新しいオブジェクトを作成する方法を理解しようとしています。たとえば、連絡先のリストが必要だとします。ユーザーは、名前、電話、電子メールなどを含むNSMutable配列の汎用オブジェクトを持つテンプレートを作成します。テンプレートの作成が完了したら、必要に応じてそのテンプレートに基づいて新しい連絡先を追加できます。テンプレート。すべてのテンプレートオブジェクトは、その内部にネストされた汎用オブジェクトと、異なるデータ型として設定された値を持つ汎用オブジェクトと、それらの汎用オブジェクトすべてが配列を含む別の汎用オブジェクトの内部に格納されます。私はこの音をあまりにも混乱させたくないと思っています...基本的に、実行時にカスタムオブジェクトテンプレートを作成し、それらを使用できるようにするだけです。誰もがこれに対する良いアプローチを知っていますか?私は誰のデータにも適用できるように、私のアプリでデータストレージを普遍化したいと考えています。ありがとう。実行時に新しいオブジェクトテンプレートを作成するiPhone
答えて
あなたの最終目標は正確にはわかりませんが、「Interface Builder」アプローチをとることができます。テンプレートを作成し、すべての要素をxml形式に変換するという視点があります。読み込むために必要なのはxmlを読み込み、適切なUI要素を作成し、コンテナビューの適切な場所に追加するだけです。このアプローチの1つの問題は、要素にデータを送信する必要がある場合、テンプレートにその型の複数の要素がある場合、正しい要素を取得することはほとんど不可能です。配列、辞書、またはxmlを使ってキー(要素の名前)と値(要素、これはxmlアプローチを使用する必要はありません)を格納することができます。これは混乱している場合はごめんなさい。
iOSのディスクにオブジェクトを読み書きするには、実行可能なオプションがいくつかあります。最も有名で広く使われているのは、Core Data and Plistsです。
初心者の方は、カスタムオブジェクト 'テンプレート'の属性の配列を(おそらく文字列として)保存することをお勧めします。チュートリアルについてはhereを参照して、他に何かが出てくるかどうかを調べてください。
コアデータは良いアプローチかもしれませんが、私はそれを一度も使用していないので、何が可能かは分かりません。私は、実行時にカスタムデータ構造体を作成し、これらのカスタム構造体の配列からデータを格納および取得する方法を理解しようとしています。 – Davido
- 1. 実行時に新しい列を作成するSQLクエリ
- 2. 新しいテーブル作成時にmysqlのストアドプロシージャを実行する
- 3. 実行時に新しいラジオボタンオプションを作成する
- 4. iPhoneは実行時にSQLiteデータベースを作成しますか?
- 5. iphone:実行時にビューコントローラをプログラムで作成する
- 6. Java:実行時に型の新しい実装を作成しますか?
- 7. イベントに登録し、実行時に新しいメソッドを作成する - c#
- 8. 実行時にSpringを使用して新しいフィールドを作成する
- 9. 実行時にEFモデルを変更して新しいエンティティを作成する
- 10. 実行時にLaravel 5で新しい接続を作成する方法は?
- 11. 実行時に新しいJobDetailジョブを作成する方法は?
- 12. 実行時にapp.configの新しいユーザー設定を作成する方法
- 13. ImageListを作成して実行時に作成する
- 14. 実行時にusercontrolを作成する
- 15. 実行時にユーザコントロールオブジェクトを作成する
- 16. 実行時にテーブルを作成する
- 17. 実行時にクラスを作成する
- 18. 実行時にNinePatchを作成する
- 19. 実行時にレイアウトを作成する
- 20. 実行時にスポックテストを作成する
- 21. Mithrilを使用して実行時に新しい要素を作成
- 22. iphone - 実行時にバンドルを作成してファイルを置く方法
- 23. iPhoneアプリケーションで新しいビューを作成
- 24. 同時に新しいインスタンスを更新して作成する
- 25. WPF DataGridにXMLを正しくバインドする(ラウンド2)実行時に新しいDataGridを作成する
- 26. onclickを追加したり、実行時にデータベースから実行時に作成
- 27. iPhoneでFacebookに新しいフォトアルバムを作成する方法
- 28. 新しい行エントリの作成時にmysql行からタイムスタンプを取得する
- 29. 実行時にオブジェクトを作成して移動するには?
- 30. 実行時にC++でDLLを作成
これは、視覚的には良いアプローチであるように思えます。作成されたオブジェクトを格納するためにデータ構造を動的に作成する最善の方法は何でしょうか?多分入れ子になった辞書やそのような行に沿ったものを考えていたのですが、xmlテンプレートを使って何が含まれているかを知ることができました。 – Davido
これにアプローチする良い方法は、辞書と配列を使うことです。私はこれを説明する方法はあまりよく分かりませんが、例を使用します:配列(ウィンドウ)と辞書のリスト(サブビュー)が含まれています。これらの辞書には、クラスの文字列や座標の配列などの属性があります。そのビューのサブビューの配列を持ち、データのすべてを表現できるようになるまで続きます。より小さなストレージのために、すべての値をNSValuesにラップすることも可能です。お役に立てれば。 –