Hello friends i Am new in ios.in my App i am getting Json response from web service.response is type of Nsarray Contains NsDictionaries.in that dict there is categeryName=%@.i want to populate the table view which cantains only Names Of Product that matches with that Categoryname String.i am Getting All the Name From All the dict
cell.textLabel.text = [[songArray objectAtIndex:indexPath.row] objectForKey:@"Name"];
And this is My Array
value = (
{
AreaBaseKey = "728b0e3e-295a-459d-9dca-56084afdeba8";
CategoryKey = "9abcd7cb-6e4b-e311-93f5-001a640a73ee";
CategoryName = Topuri;
Code = 000000178242;
IsActive = 1;
Name = Chiloti;
},
{
AreaBaseKey = "c666bd31-ac3c-4028-a983-51fb9063e0dc";
CategoryKey = "9abcd7cb-6e4b-e311-93f5-001a640a73ee";
CategoryName = Topuri;
Code = 000000178242;
IsActive = 1;
Name = Chiloti;
},
{
AreaBaseKey = "694c4b74-0a66-4f8d-b14c-8c53dfe8696f";
CategoryKey = "9abcd7cb-6e4b-e311-93f5-001a640a73ee";
CategoryName = Topuri;
Code = 000000178242;
IsActive = 1;
Name = Chiloti;
},
{
AreaBaseKey = "cd60fb89-8aae-4f02-925b-8e91ccd648b3";
CategoryKey = "9abcd7cb-6e4b-e311-93f5-001a640a73ee";
CategoryName = Topuri;
Code = 000000178242;
IsActive = 1;
Name = Chiloti;
},
{
AreaBaseKey = "54807449-9159-4701-9e72-d4cdf0e8163d";
CategoryKey = "9abcd7cb-6e4b-e311-93f5-001a640a73ee";
CategoryName = Topuri;
Code = 000000178242;
IsActive = 1;
Name = Chiloti;
},
{
AreaBaseKey = "1ec28a54-c0d1-4f99-966d-02f83ece35d2";
CategoryKey = "9abcd7cb-6e4b-e311-93f5-001a640a73ee";
CategoryName = Topuri;
Code = 000000178242;
IsActive = 1;
Name = Chiloti;
},
{
AreaBaseKey = "996cb68e-f950-e311-93f8-001a640a73ee";
CategoryKey = "9abcd7cb-6e4b-e311-93f5-001a640a73ee";
CategoryName = Topuri;
Code = 000000178242;
IsActive = 1;
Name = Chiloti;
},
{
AreaBaseKey = "a6dac1ba-744b-e311-93f5-001a640a73ee";
CategoryKey = "9abcd7cb-6e4b-e311-93f5-001a640a73ee";
CategoryName = Topuri;
Code = 000000178242;
IsActive = 1;
Name = Chiloti;
},
{
AreaBaseKey = "8c36f9e0-744b-e311-93f5-001a640a73ee";
CategoryKey = "9abcd7cb-6e4b-e311-93f5-001a640a73ee";
CategoryName = Topuri;
Code = 000000178242;
IsActive = 1;
Name = Chiloti;
},
{
AreaBaseKey = "ec0c9f6b-754b-e311-93f5-001a640a73ee";
CategoryKey = "9abcd7cb-6e4b-e311-93f5-001a640a73ee";
CategoryName = Topuri;
Code = 000000178242;
IsActive = 1;
Name = Chiloti;
},
{
AreaBaseKey = "1a96ca82-a2f1-48d2-91c3-a14ae3d09f70";
CategoryKey = "8cbcd7cb-6e4b-e311-93f5-001a640a73ee";
CategoryName = Pachete;
Code = 100;
IsActive = 0;
Name = 3pizza;
},
)
I Am Doing this
{ NSString *str = self.AppDelegate.indexname;
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"ANY CategoryName LIKE %@",str];
NSArray *result = [songArray filteredArrayUsingPredicate:predicate];
NSLog(@"%@",result);
}
And This Also
{
NSString *str=self.AppDelegate.indexname;
NSMutableArray *arr = [[NSMutableArray alloc]init];
for(NSDictionary *dict in songArray)
{
if([[dict objectForKey:@"CategoryName"]isEqualToString:str])
{
[arr addObject:dict];
NSLog(@"%@",arr);
}
}
}
But Not Getting Output I want at this is the Errror in line NSArray *result = [songArray filteredArrayUsingPredicate:predicate];
You can use NSPredicate
for filter NSArray
or NSMutableArray
of NSDictionary
or NSMutableDictionary
.
NSString *str = <search string>;
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"ANY CategoryName LIKE %@", str];
NSArray *result = [value filteredArrayUsingPredicate:predicate];
To know about more NSPredicate
checkout that link - How To Create Predicates