【发布时间】:2013-03-06 20:17:21
【问题描述】:
我有一个带有tableView 的 ViewController,我还有一个名为 dag 的 NSArray:
[{"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" 等于该“Products”项目 (67) 的 "ID" 的项目。
即:选择“产品”将加载:
"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 作为引用,但我不知道该怎么做或者这是否可能。
提前致谢!
【问题讨论】:
-
假设你有一个导航控制器,你可以使新控制器贪得无厌并将其推送到导航控制器堆栈
-
或者如果你不这样做,这将是一次性的,你可以展示那个子视图控制器。
-
@GradyPlayer 我确实有一个导航控制器,如何实例化新的控制器并将其推入堆栈?你能提供一些示例代码吗?
-
我几乎无法理解你的故事情节。选择“产品”行是什么意思?有多少行?数组计数的数量?数组的名称是什么?它真的是一个简单的数组还是带有 NSMutableDictionary 的 NSMutableArray?
-
@TBlue 最初,tableView 只有一行显示“产品”。当我点击它时,我想加载带有 2 行的 tableView,第一行显示“A 类”,第二行显示“B 类”。
标签: ios objective-c uitableview nsarray