我尝试按索引
在数组中查找项目这是我的代码。
- (NSDictionary *) getItemAtIntex:(int) index inArray:(NSArray *) array
{
for (NSDictionary *item in array)
{
if (enumerateIndex == index)
{
NSLog(@"%@",item[@"comment"]);
return item;
}
else if ([item[@"childs"] count])
{
enumerateIndex ++;
[self getItemAtIntex:index inArray:item[@"childs"]];
}
}
return nil;
}
我打电话给我的方法
enumerateIndex = 0;
NSDictionary *comment = [self getItemAtIntex:indexPath.row inArray:comments];
例如,索引1,在调试中我有两个答案
subGL 1 -> 1
global 2
我只需回复subGL 1 -> 1
此处我的文件https://www.dropbox.com/s/mvc21a8pl5n6xz3/commenst.json
答案 0 :(得分:1)
您没有对递归调用的返回值执行任何操作。试试这个:
- (NSDictionary *) getItemAtIntex:(int) index inArray:(NSArray *) array
{
for (NSDictionary *item in array)
{
if (enumerateIndex == index)
{
NSLog(@"%@",item[@"comment"]);
return item;
}
else if ([item[@"childs"] count])
{
enumerateIndex ++;
NSDictionary *result = [self getItemAtIntex:index inArray:item[@"childs"]];
if (result) {
return result;
}
}
}
return nil;
}