2016-08-09 83 views
1

Ich habe versucht, NSPredicate, aber alle Zeit erhalten Antwort 0. überprüfen Sie Schlagcode und bieten Sie Ihren Vorschlag, wo Fehler. soureceArray: - {NSPredate (Nsdictionary + Array + Nsdictionary)

CityId = 0; 
TreatmentProgramServices =  (
      { 
     TreatmentServicesId = 9; 
     TreatmentServicesName = Coed; 
    }, 
      { 
     TreatmentServicesId = 1; 
     TreatmentServicesName = Intervention; 
    }, 
      { 
     TreatmentServicesId = 3; 
     TreatmentServicesName = Residential; 
    } 
); 
TreatmentProgrameId = 3; 

} 

filterTreatmentServices ist Array Count ist: - {3}

NSPredicate* updatePre = [NSPredicate predicateWithFormat:@"(%K IN %@)",@"TreatmentProgramServices.TreatmentServicesId" ,filterTreatmentServices]; 

filterTreatmentService =[soureceArray filteredArrayUsingPredicate:updatePre]; 

Bitte legen nahe Lösung

+0

N SPredicate * updatePre = [NSPredicate predicateWithFormat: @ "TreatmentProgramServices.TreatmentServicesId ==% @", @ "3"]]; –

+0

@balkaransingh Es funktioniert nicht, weil das Problem in TreatmentProgramServices.TreatmentServicesId TreatmentProgramServices Array danach ist dic. – shiv

+0

überprüfen Sie die Antwort plz. –

Antwort

0

plz verwenden diese

NSArray *filterArray=[soureceArray filteredArrayUsingPredicate:[NSPredicate predicateWithBlock:^BOOL(id _Nonnull evaluatedObject, NSDictionary<NSString *,id> * _Nullable bindings) { 
       return [[evaluatedObject valueForKey:TreatmentServicesId] == 3]; 
      }]]; 
+0

Danke @balkaran – shiv

+0

willkommen @shiv :) –