Я пытаюсь отфильтровать список продуктов из ответа json. Для левого выражения «Статус» правой стороны мне нужно понизить. поэтому я использовал правильное выражение. При фильтрации этого json, используя nspredicate, он не работает из-за пробела. Пожалуйста, помогите мне достичь этого.Как решить проблемы с пространством при использовании nspredicate в объекте c?
NSArray *Mainarray;// Suppose this contains the response as "status"="Checked In" for 1 product and for other product "status"="Lost/Missing"
NSArray *[email protected][[NSExpression expressionForKeyPath:@"status"]];
NSArray *[email protected][[NSExpression expressionForKeyPath:@"Awaiting inputs"],[NSExpression expressionForKeyPath:@"Checked In"],[NSExpression expressionForKeyPath:@"Checked out"],[NSExpression expressionForKeyPath:@"Lost/Missing"],[NSExpression expressionForKeyPath:@"xxx Testing/Primary System"],[NSExpression expressionForKeyPath:@"Sold To"],[NSExpression expressionForKeyPath:@"closed"],[NSExpression expressionForKeyPath:@"Used for Parts"]];
NSArray *operators= @[@(NSEqualToPredicateOperatorType),@(NSNotEqualToPredicateOperatorType)];
NSArray *compoundTypes = @[@(NSAndPredicateType),@(NSOrPredicateType),@(NSNotPredicateType)];
NSPredicateEditorRowTemplate *template;
template=[[NSPredicateEditorRowTemplate alloc]initWithLeftExpressions:left rightExpressions:right modifier:NSDirectPredicateModifier operators:operators options:(NSCaseInsensitivePredicateOption | NSDiacriticInsensitivePredicateOption)];
compoundtemp = [[NSPredicateEditorRowTemplate alloc] initWithCompoundTypes:compoundTypes];
[predicateEditor setRowTemplates:@[template,compoundtemp]];
NSPredicate *predicate=[predicateEditor predicate];
NSArray *resultArray=[Mainarray filteredArrayUsingPredicate:predicate];
Большое вам спасибо. Он отлично работает ... – Suneetha
@Suneetha: Добро пожаловать! –