【发布时间】:2015-08-20 10:52:46
【问题描述】:
category = (
{
"category_id" = 18;
column = 1;
description = "Electrician Works";
image = "images/Electrician.jpg";
"meta_description" = "Electrician Works";
"meta_keyword" = "Electrician Works";
name = Electrician;
"parent_id" = "";
"sort_order" = 3;
status = enable;
subcategory = (
);
top = "";
},
{
"category_id" = 19;
column = 1;
description = "Plumbing Works";
image = "images/Plumber.png";
"meta_description" = "Plumbing Works";
"meta_keyword" = "Plumbing Works";
name = Plumber;
"parent_id" = "";
"sort_order" = 1;
status = disable;
subcategory = (
);
top = "";
},
{
"category_id" = 37;
column = 0;
description = "";
image = "images/SUV.jpg";
"meta_description" = "";
"meta_keyword" = "";
name = SUV;
"parent_id" = 20;
"sort_order" = 3;
status = enable;
subcategory = (
);
top = "";
}
如果 parent_id ="" 则必须删除其他值。
我在这里存储了值名称和 parent_id
{
name = Microwave;
parent = "";
},
{
name = Hatchback;
parent = 20;
},
{
name = Sedan;
parent = 20;
},
{
name = SUV;
parent = 20;
}
如果父 ID 不存在,那么我必须从数组中删除,任何人都可以帮助我找出这个问题。
-(void)responseFunction:(NSMutableDictionary*)response
{
BOOL sucess;
sucess =[response objectForKey:@"sucess"];
if(!sucess)
{
NSLog(@"%@",response);
arrDicCategory=[response objectForKey:@"category"];
for(NSDictionary *dicAllCategory in arrDicCategory)
{
NSMutableDictionary *dicStorage=[[NSMutableDictionary alloc]init];
[dicStorage setObject:[[dicAllCategory objectForKey:@"name"] length] !=0?[dicAllCategory objectForKey:@"name"]:@"" forKey:@"name"];
// [dicStorage setObject:[dicAllCategory objectForKey:@"parent_id"]!=Nil?[dicAllCategory objectForKey:@"parent"]:@"" forKey:@"parentid"];
[dicStorage setObject:[dicAllCategory objectForKey:@"parent_id"] forKey:@"parent"];
[arrDicName addObject:dicStorage];
NSLog(@"%@",arrDicName);
}
}
}
这是我的代码...
I NEED OUTPUT LIKE THIS
name = Hatchback;
parent = 20;
name = Sedan;
parent = 20;
name = SUV;
parent = 20;
我正在尝试使用以下代码删除值:
for(int i=0; i<arrDicName.count ; i++)
{
if([[arrDicName objectAtIndex:i]objectForKey:@"parent"]==Nil)
{
[arrDicName removeObject:[[arrDicName objectAtIndex:i]objectForKey:@"parent"]];
NSLog(@"AfterRemovingFromThearray%@",arrDicName);
}
}
我的代码有问题我理解但我找不到所以最后我来这里帮助我的朋友。
【问题讨论】:
-
为什么要一个字典数组,而一个字典就可以(更快的查找)?
-
在 for 循环中我正在存储值.....
-
在
for循环中,您是否有理由不只是将您的条件包含在if中并采取适当的措施? -
因为我的 json 数据中有多个值,这只是我放置循环并将值存储在另一个字典中.. @CRD
-
您想从类别响应或您提供的第二个数组中删除值?
标签: objective-c nsarray nsjsonserialization