0
NSMutableArray *wholeJsonArray = [LoginResult objectForKey:@"Response"];
//NSMutableArray *values=[NSMutableArray arrayWithArray:[LoginResult allValues]];    
NSMutableArray *statenameArray=[LoginResult objectForKey:@"Response"];
for(NSDictionary *countname in wholeJsonArray)
{

    NSString *cName = [NSString stringWithFormat:@"%@",[countname objectForKey:@"country_name"]];
    [countryArray addObject:cName];

}
for(NSDictionary *cid in wholeJsonArray)
{

    NSNumber *number = [cid objectForKey:@"country_id"];
    [idcountry addObject:number];
}

for(NSDictionary *statename in statenameArray)
{

    NSString *sName=[NSString stringWithFormat:@"%@",[statename objectForKey:@"state_name"]];
    [stateArray addObject:sName];
}

我写了上面的代码。

国家名称在表格视图中正确显示。状态名称响应也会显示,但显示的行数为空值,其他行值正确。那么我应该怎么做才能从几行中删除空值。

提前致谢。

4

3 回答 3

0

尝试这个

NSMutableArray *countries = [LoginResult objectForKey:@"Response"];

for(NSDictionary *country in countries){

    NSString *countryName = country[@"country_name"];
   if(countryName)
        [countryArray addObject:countryName];

    NSNumber *countryId = country[@"country_id"];
    if(countryId)
        [idcountry addObject:countryId];

    NSString *stateName = country[@"state_name"];
    if(stateName)
        [stateArray addObject:stateName];
}
于 2013-04-18T08:22:57.523 回答
0

Replace the last for with this:

for (NSDictionary *statename in statenameArray) {
    NSString * sName = [statename objectForKey:@"state_name"];
    if (sName.length > 0) {
        [stateArray addObject:[NSString stringWithFormat:@"%@", sName]];
    }
}
于 2013-04-18T07:57:07.810 回答
0

Add state strings to array only if it's valid.

for(NSDictionary *statename in statenameArray)
{
   NSString *sName=[NSString stringWithFormat:@"%@",[statename objectForKey:@"state_name"]];
   if (sName!=nil && sName.length!=0) {
     [stateArray addObject:sName]; 
    }
}
于 2013-04-18T07:57:32.897 回答