2017-08-31 7 views
0

私は、viewDidLoadがJSONを取得しているUITableViewControllerを持っています。このJSONをNSDictionaryに割り当てます。このNSDictionaryは、DataModelクラスのparseElements() -> [ Int : [DataModel] ]メソッドに渡されます。このメソッドは、NSDictionaryのすべての内容をループし、反復ごとに1つのDataModelオブジェクトを構築し、[DataModel]の配列に格納します。イテレータの外側のループはUITableView's sectionのすべての要素を取り上げます。内側のループは、配列内のすべての行の内容(DataModel)をピックアップします。表示する必要の細胞の種類を決定する際にS cellForRowAtIndexPath方法「はUITableViewControllerUITableViewControllerJSONから解析された複数のUITableViewCellタイプ

からアクセスできるようにsのシングルトンインスタンス」私はDataModelにこれらすべての要素を追加しています。 parseElements()メソッドの行にスレッディングエラーが発生しました。DataModelの配列を追加しています。このオブジェクトは、反復され、NSDictionaryから収集されました。

誰でもこの問題を解決するのに手伝ってください。概念的に私はそれに正しくアプローチしていますか?

+0

なりsectionObjects.countしますそれのためのソースが構築されている間? –

答えて

1

各セクションのインデックスを維持する代わりに、各セクションのモデルをアレイの要素として格納します。

配列内の要素の位置はセクションインデックスになります。したがって、セクションごとに行数を指定できます。

例:各オブジェクトについて

1.createデータモデルは

2.create応答モデルは、セクション

のDataModel { にNSArray * childObjects の配列されるオブジェクトの配列であろう}

全体の応答

ResponseModel { にNSArray * sectionObjects }セクションの

数あなたがテーブルビューを表示しようとしている行の

数のDataModel [位置] .childObjects.count

+0

このアプローチを利用していただきありがとうございました。 –

+1

あなたの問題を解決した場合、回答をupvoteすることができます –

+0

私はすでに私の友人を招待しました。 :) –

関連する問題