我有一个带有 tableView
的 ViewController ,我也有以下NSArray
调用dag
:
[{"ID":67,"ParentsID":0,"Title":"Products"},
{"ID":68,"ParentsID":67,"Title":"Class A"},
{"ID":69,"ParentsID":67,"Title":"Class B"},
{"ID":70,"ParentsID":68,"Title":"Recurrent"},
{"ID":71,"ParentsID":68,"Title":"Non Recurrent"},
{"ID":72,"ParentsID":70,"Title":"Basic"},
{"ID":73,"ParentsID":70,"Title":"Advanced"},
{"ID":74,"ParentsID":71,"Title":"Incentives"}]
我已经可以使用
tableView
使用键 "ParentsID"
显示项目的标题等于 "0"
.换句话说,我正在加载表格:"Products" //from `{"ID":67,"ParentsID":0,"Title":"Products"}`.
现在,当我在 tableView 中选择“Products”行时,我希望 tableView 重新加载并显示其
"ParentsID"
的项目。等于 "ID"
该“产品”项目 (67)。即:选择“产品”将加载:
"Class A" //from {"ID":68,"ParentsID":67,"Title":"Class A"}, and
"Class B" //from {"ID":69,"ParentsID":67,"Title":"Class B"}
//because their ParentsID is equal to the ID of "Products"
然后我希望在选择“A 类”或“B 类”等时继续这种行为。
我怎样才能做到这一点?
我认为我必须在
didSelectRowAtIndexPath
中实例化一个新的 tableview将值的 ID 作为引用,但我不知道该怎么做或者这是否可能。提前致谢!
最佳答案
以下是使用表格和导航 Controller 制作逐级层次结构 View 的一般方法:
UITableViewDataSource
存储您的 NSArray
的类和 int parentId
UINavigationController
到要显示层次结构的屏幕UITableView
的 Controller 为您的餐 table 在第 5 步的事件处理程序中,获取当前行的 ID,从第 1 步为该 ID 实例化一个新数据源,然后通过调用第 4 步的初始化程序从第 3 步实例化一个新的 View Controller ,并推送新创建的 Controller 从步骤 2 到导航 Controller 的堆栈。
关于ios - 根据单元格选择,使用 NSArray 中的选择对象重新加载 UITableView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15257136/