Mi arrendo. Ho provato ogni combinazione che posso immaginare per verificare se una stringa contiene un'altra stringa. Ecco un esempio di sintassi intuitiva descrivere quello che voglio fare:Utilizzare un NSPredicate per rilevare NOT CONTAINS
NSPredicate* pPredicate = [NSPredicate predicateWithFormat:@"NOT (%K CONTAINS[c] %@)",
NSMetadataItemFSNameKey,
[NSString stringWithFormat:@"Some String"]];
Indipendentemente da come sposto il non intorno, utilizzare il! operatore invece, sposta le parentesi o rimuovile del tutto, ottengo sempre un'eccezione analizzando questa espressione.
Cosa c'è di sbagliato in questa espressione?
EDIT: L'eccezione avviene quando chiamo
[pMetadataQuery setPredicate:pPredicate];
e l'eccezione è: * terminazione app causa eccezione non identificata 'NSInvalidArgumentException', ragione: 'tipo sconosciuto NSComparisonPredicate dato a NSMetadataQuery (kMDItemFSName CONTIENE [c] "Alcuni String")'
Possibile duplicato di questa domanda: http://stackoverflow.com/questions/8580715/nsarray-with-nspredicate-using-not-in – joern
Puoi dirci ciò che il l'eccezione è? – Tommy
joern, ho visto molte domande simili ma, come quella, non risponde al mio problema. "IN" non è lo stesso di contiene, in quanto riguarda set (come ho capito). @ Tommy, ho aggiornato la domanda. Spero che aiuti. – vargonian