2017-08-31 38 views
0

我有一個UITableViewController,它的viewDidLoad調用一個API並檢索一個JSON。它將此JSON分配給NSDictionary。這NSDictionary傳遞給DataModel類的parseElements() -> [ Int : [DataModel] ]方法。該方法循環遍歷NSDictionary的所有內容,並且每次迭代構建一個DataModel對象並將其存儲在[DataModel]的數組中。迭代器的外層循環拾取UITableView's section中的所有元素,內循環拾取數組中所有行對象,即DataModel對象。我將所有這些元素DataModel的單一實例,使其從UITableViewController從JSON解析多個UITableViewCell類型

UITableViewController訪問「在決定需要顯示哪種類型的細胞第cellForRowAtIndexPath方法。我在parseElements()方法的線路中遇到了線程錯誤,我添加了剛剛從NSDictionary迭代並收集的DataModel對象的數組。

任何人都可以請幫我解決這個問題。從概念上說,我正確地接近它?

+0

所以是你想顯示的TableView而它的來源正在建設中? –

回答

1

不是維護每個部分的索引,而是將每個部分的模型存儲爲數組的一個元素。

數組中的元素位置將是您的分節索引,因此可以給出每個分節的行數。

示例: 爲每個對象

1.創建數據模型將對象數組

2.創建響應模式將是部分

的DataModel { 的NSArray * childObjects 的陣列}

整個響應

ResponseModel { 的NSArray * sectionObjects }

部分數量將是sectionObjects.count

的行數將是DataModel的[位置] .childObjects.count

+0

謝謝你的這種做法幫助我贏​​得了我的問題。 –

+1

如果它解決了您的問題,您可以upvote答案 –

+0

我已經邀請我的朋友。 :) –