NSPredicate para que coincida con "cualquier entrada en una NSDatabase con un valor que contenga una cadena"

Tengo una serie de diccionarios, similares a los siguientes:

(
        {
            Black = "?";
            Date = "????.??.??";
            Result = "*";
            SourceDate = "2007.10.24";
            White = "Mating pattern #1";
        },
        {
            Black = "?";
            Date = "????.??.??";
            Result = "*";
            SourceDate = "2008.10.24";
            White = "About this Publication";
        }
)

Quiero ofrecer al usuario la posibilidad de buscar texto dentro de los campos "Blanco" y "Negro", o dentro de cualquier campo. Tengo un NSPredicate para hacer solo los campos específicos:


    predicate = [NSPredicate 
                    predicateWithFormat:@"self.Black contains[cd] %@ or self.White contains[cd] %@",
                        searchText, searchText];
    [filteredGames addObjectsFromArray:[games filteredArrayUsingPredicate:predicate]];

No se me ocurre cómo formular un predicado que me devuelva los diccionarios para los cuales cualquiera de los objetos dentro coincida con el texto. es decir, podría buscar "2007" y devolvería el primer diccionario pero no el segundo. Intenté "self. *" Que realmente no esperaba que funcionara y también "CUALQUIER self.allValues" que tenía más esperanzas. En realidad, no sé de antemano cuáles serán las claves, por lo tanto, necesito algo menos específico.

¿Alguna sugerencia

Respuestas a la pregunta(2)

Su respuesta a la pregunta