テーブルビューに追加する一連のフィールドのデータを含むカスタムPlistがあります。レイアウトは次のようである:TableViewのカスタムオブジェクトへのマッピング辞書
ルートアレイ
- セクション(アレイ)
---フィールド(辞書)
----フィールド名
---- HasError
--- - FIELDTYPE
---フィールド(辞書)
----フィールド名
---- HasError
---- FIELDTYPE
複数のセクションがあり、それぞれに複数のフィールドがあります。各フィールドは辞書であり、後でカスタムオブジェクトタイプにマップします。たとえば 'FieldObject'などです。
「FieldObject」にカスタムのinitWithDictionaryメソッドを作成して、各ディクショナリからモデルオブジェクトを作成することができます。私たちはこのような関連データ取得時点では
:私たちが何をしたいか
let tvDataPath = NSBundle.mainBundle().pathForResource("CandRegisterFields", ofType: "plist")
self.tableViewData = NSArray.init(contentsOfFile: tvDataPath!)
はその後、元のNSArray
データに戻ってそれらを追加し、カスタムモデルオブジェクトにフィールドのすべての辞書をマップであります同じインデックスなどの新しいオブジェクト型。これを行う簡単な方法がありますか?
なぜあなたは何かを配列に保ちたいのですか?それには理由がありますか?なぜすべてをマップし、それを配列で望ましいフォーマットにするメソッドを作成しないのですか? –
@Lu_ - 実際には、モデルオブジェクトの配列がほしいだけです。他の配列は無視できます。だから我々は辞書の配列を持っている、我々はモデルオブジェクトの配列が欲しい。 – StuartM
@ Lu_ - 私が持っている問題は、forステートメントループの構文です。私。配列の配列(またはデータのセクションの配列)から始めます。私はオブジェクトにマップするために、すべての辞書を見つけるためにセカンダリ配列のそれぞれをループしたい – StuartM