Me rindo. He probado todas las combinaciones que puedo imaginar para verificar si una cadena contiene otra cadena. He aquí un ejemplo de la sintaxis intuitiva que describe lo que quiero hacer:Use un NSPredicate para detectar NO CONTIENE
NSPredicate* pPredicate = [NSPredicate predicateWithFormat:@"NOT (%K CONTAINS[c] %@)",
NSMetadataItemFSNameKey,
[NSString stringWithFormat:@"Some String"]];
Independientemente de cómo me muevo alrededor del NO, utilice el! operador, cambie el paréntesis o elimínelos por completo, siempre obtengo una excepción al analizar esta expresión.
¿Qué pasa con esta expresión?
EDIT: La excepción ocurre cuando llamo
[pMetadataQuery setPredicate:pPredicate];
y la excepción es: * Terminación de aplicación debido a excepción no detectada 'NSInvalidArgumentException', razón: 'Tipo desconocido de NSComparisonPredicate dado a NSMetadataQuery (kMDItemFSName CONTIENE [c] "un trozo de cuerda")'
duplicado posible de esta pregunta: http://stackoverflow.com/questions/8580715/nsarray-with-nspredicate-using-not-in – joern
Puede decirnos lo que el la excepción es? – Tommy
joern, he visto muchas preguntas similares, pero al igual que esa, no responde mi problema. "IN" no es lo mismo que contiene, ya que involucra conjuntos (según lo entiendo). @Tommy, actualicé la pregunta. Espero que eso ayude. – vargonian