我有一个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/