objective-c - metodo - comparar un string con un arreglo java
Usando NSPredicate para determinar si una cadena es igual a otra cadena (2)
Pruebe [NSPredicate predicateWithFormat:@"title ==[c] ''on call''"];
(El [c]
hace que la comparación de igualdad no distinga entre mayúsculas y minúsculas).
Tengo un NSArray
de CalEvents devuelto con el [CalCalendarStore eventPredicateWithStartDate]
. De los eventos devueltos, estoy tratando de mantener solo aquellos en los que el título del evento == @"on call"
(no distingue entre mayúsculas y minúsculas).
Puedo mantener en la matriz esos eventos cuyo título incluye @"on call"
con el siguiente código (donde ''events'' es un ''NSArray'' poblado con CalEvents
):
NSPredicate *onCallPredicate = [NSPredicate predicateWithFormat:@"(SELF.title CONTAINS[c] ''on call'')"];
[events filteredArrayUsingPredicate:onCallPredicate];
He intentado usar una cadena de formato de predicado como:
@"SELF.title == ''on call''"
pero parece que no funciona.
¿Hay alguna forma más fácil de hacer esto?
Pruebe el predicado con el formato @"self.title like[c] ''on call''"
. El siguiente código de ejemplo genera 2 cadenas:
NSArray* ar = [NSArray arrayWithObjects:@"on call", @"I''m on call", @"lala", @"On call", nil];
NSArray* filt = [ar filteredArrayUsingPredicate:[NSPredicate predicateWithFormat:@"self like[c] ''on call''"]];
NSLog([filt description]);
//Output
"on call",
"On call"