关于使用递归来计算树形数据中的总个数!!!

2018-08-20  本文已影响9人  枣哥

在写此文章之前,首先感谢我龙哥提供的参考博客,其次感谢 递归 算例一(求一个简单嵌套字典的深度) 博主!

相信大家总会遇到后台大哥比较忙的时候,有些数据只能自己处理!
下面是我在项目中用到的递归的一个案例,希望能给你带来帮助:

//定义一个树形列表数组
NSArray *array = @[  @{
                           @"name":@"1",
                           @"chider":
                               @[
                                   @{
                                       @"name":@"2-1",
                                       @"chider":
                                           @[
                                               @{
                                                   @"name":@"3-1",
                                                   @"chider":@[]
                                                   },
                                               @{
                                                   @"name":@"3-2",
                                                   @"chider":
                                                        @[
                                                           @{
                                                               @"name":@"4-1",
                                                               @"chider":@[@{
                                                                               @"name":@"5-1",
                                                                               @"chider":@[@{
                                                                                               @"name":@"6-1",
                                                                                               @"chider":@[]
                                                                                               }]
                                                                               }]
                                                               }
                                                           ]
                                                   },@{
                                                   @"name":@"3-3",
                                                   @"chider":@[]
                                                   }
                                               ]
                                       },
                                   @{
                                       @"name":@"2-2",
                                       @"chider":@[]
                                       },
                                   @{
                                       @"name":@"2-3",
                                       @"chider":@[]
                                       }
                                   ]
                           }
                       ];

//在定义一个全局变量
int count;

//在viewDidLoad声明初始值
count = 0;

// 递归方法
- (void)setupDataCount:(NSArray *)array
{
    for (NSDictionary *dpModel in array) {
        
        if ([dpModel[@"chider"] count]!=0) {
            count += 1;
            [self setupDataCount:dpModel[@"chider"]];
        }else {
            count += 1;
        }
    }
    NSLog(@"count-%d-",count);
}

希望对你有帮助!

上一篇下一篇

猜你喜欢

热点阅读