NSPredicate que ignora los espacios en blanco

Necesito usar NSPredicate para unir dos cadenas, insensibles a mayúsculas y minúsculas, insensibles a diacríticos,y espacio en blanco insensible.

El predicado se vería algo así:

<code>[NSPredicate predicateWithFormat:@"Key ==[cdw] %@", userInputKey];
</code>

El modificador 'w' es uno inventado para expresar lo que me gustaría usar.

No puedo simplemente recortar eluserInputKey porque los valores "clave" de la fuente de datos también pueden tener espacios en blanco (necesitan esos espacios en blanco, no puedo recortarlos de antemano).

Por ejemplo, dada unauserInputKey "abc" el predicado debe coincidir con todos

{"abc", "a b c", " a B    C   "}
y así. Dado unuserInputKey"a B C", el predicado también debe coincidir con todos los valores del conjunto anterior.

Esto no puede ser tan difícil de hacer, ¿verdad?

Respuestas a la pregunta(2)

Su respuesta a la pregunta