1

我的应用程序使用多个 tableViews。

它包含一个具有 NSMutableArray 的 RootViewController,命名为 mainArray,具有 id、parent_id、title、subtitle、description。

在我的 SecondTableViewController 中,我需要根据 parent_id 从我的 mainArray 创建一个 childArray,以便我可以填充 tableviewcells。

我需要我的 childArray1 只包含每个 parent_id = 1 的 id、title、subtitle childArray2 只包含每个 parent_id = 2 的 id、title、subtitle 等等。

这样做有一些提示吗?

4

2 回答 2

0

尝试使用字典,我想更好

NSDictionary *parent = @{@"id":@(1),@"title":@"Root",@"subtitle":@"my subtitle",@"description":@"something"};
NSDictionary *child1 = @{@"id":@(2),@"title":@"Child 1",@"subtitle":@"lalalala",@"description":@"something",@"parent":parent};
NSDictionary *child2 = @{@"id":@(3),@"title":@"Child 2",@"subtitle":@"lelelele",@"description":@"something",@"parent":child1};

//so now, you can do something like
child2[@"parent"][@"id"]; // 2
child2[@"parent"][@"parent"][@"title"]; // root
于 2013-09-13T19:53:13.333 回答
0

由于您的 JSON 表明您的 NSArray 包含 NSDictionary 对象,因此您可以执行以下操作:

NSPredicate *parentPredicate = [NSPredicate predicateWithBlock:^BOOL(id evaluatedObject, NSDictionary *bindings) {
            return evaluatedObject[@"parent_id"] == 1; //set this id to different value to get children of different parent
        }];

NSArray *childArray = [parentArray filteredArrayUsingPredicate:parentPredicate];

您可以设置parent_id为另一个值以获取这些parent_ids 的子数组。

于 2013-09-13T20:00:22.980 回答