我有一个UITableViewController,viewDidLoad
调用API并检索JSON。它将此JSON分配给NSDictionary
。此NSDictionary
会传递给DataModel
类的parseElements() -> [ Int : [DataModel] ]
方法。此方法循环遍历NSDictionary
的所有内容,并在每次迭代时构造一个DataModel
对象,并将其存储在[DataModel]
s的数组中。迭代器的外部循环拾取UITableView's section
内部循环中的所有元素,获取数组中DataModel
个对象的所有行内容。我将所有这些元素添加到DataModel
的单例实例中,以便可以从UITableViewController
在UITableViewController
的{{1}}方法中,决定需要显示哪种类型的单元格。我在cellForRowAtIndexPath
方法的行中遇到了线程错误,我正在添加parseElements()
对象的数组,这些对象刚从DataModel
迭代并收集。
有谁可以帮我解决这个问题。从概念上讲,我是否正确接近它?
答案 0 :(得分:1)
不是维护每个部分的索引,而是将每个部分的模型存储为数组的元素。
数组中的元素位置将是您的节索引,因此您可以为每个节提供行数。
实施例: 对于每个对象
1.create数据模型将是对象数组
2.创建响应模型将是部分数组
的DataModel { NSArray * childObjects }
完整回复
ResponseModel { NSArray * sectionObjects }
部分的数量将是sectionObjects.count
行数将是DataModel [position] .childObjects.count