ios - NSPredicate in NSArray, contains number with "/" -
i filter nsmutablearray
birthday date of user facebook. can use nspredicate
? nslog of "result" :
"birthday": "05/24/1993", "id": "xxxxxxxxxxx""
i "05/24/1993 getting birthday date , saves in nsarray
: birthday.
here code :
- (void)viewdidload { [super viewdidload]; fbrequest *friendrequest = [fbrequest requestforgraphpath:@"/me?fields=birthday"]; [ friendrequest startwithcompletionhandler:^(fbrequestconnection *connection,id result, nserror *error) { [[nsuserdefaults standarduserdefaults]setobject:result forkey:@"birthdaydate"]; self.birthdayarray=[[nsuserdefaults standarduserdefaults]objectforkey:@"birthdaydate"]; nspredicate *apredicate = [nspredicate predicatewithformat:@"self contains[c] '/'"]; self.birthday = [self.birthdayarray filteredarrayusingpredicate:apredicate]; nslog(@"birthday : %@", self.birthday); }
and my nslog of nsarray birthday error :
-[__nscfdictionary filteredarrayusingpredicate:]: unrecognized selector sent instance 0x10f80a570
your result nsdictionary
instance , not nsarray
instance. thats why error message since nsdictionary
not support filteredarrayusingpredicate
message.
you can nsarray
containing keys nsdictionary:
nsarray *keys = [result allkeys];
filter array did :
nsarray *filteredkeys = [keys filteredarrayusingpredicate:[nspredicate predicatewithformat:@"self beginswith[c] 'b'"]];
and use filteredkeys
extract required value(s) dictionary :
for (nsstring *key in filteredkeys) { // assuming dictionary keys string id value = [result objectforkey:key]; nslog(@"current value key %@ = %@", key, value); }
Comments
Post a Comment