我有一个UITableViewController,它的viewDidLoad调用一个API并检索一个JSON。它将这个JSON分配给一个NSDictionary。这个NSDictionary被传递给一个DataModel类的parseElements() -> [ Int : [DataModel] ]方法。此方法循环遍历NSDictionary的所有内容,每次迭代构造一个DataModel对象并将其存储在[DataModel]s的数组中。迭代器的外循环拾取UITableView's section中的所有元素,内循环拾取数组中DataModel对象的所有行内容。我将所有这些元素添加到DataModel的单例实例中,以便可以从UITableViewController访问它
在决定需要显示哪种类型的单元格的UITableViewController方法中。我在cellForRowAtIndexPath方法的行中得到了线程错误,在这里我添加了parseElements()对象数组,这些对象刚刚迭代并从DataModel中收集。
有谁能帮我解决这个问题吗。从概念上讲,我是否正确地接近了它?

最佳答案

不要维护每个节的索引,而是将每个节的模型存储为数组的元素。
数组中的元素位置将是您的节索引,因此您可以为每个节指定行数。
例子:
对于每个对象
1.创建数据模型将是对象数组
2.创建响应模型将是一系列的部分
数据模型
{
NSArray*子对象
}
对于整个响应
响应模型{
NSArray*截面对象
}
节数将为sectionObjects.count
行数将为DataModel[position].childObjects.count

关于ios - 从JSON解析时有多种UITableViewCell类型,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45982451/

10-11 07:54