2017-08-31 40 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

我已经邀请我的朋友。 :) –