Dados principais, NSPredicate, ANY key.path == nil

Eu criei uma solução para isso usando a subconsulta, mas não entendi porque o que eu tentava fazer primeiro não funcionava.

Aqui está meu modelo de dados. Eu estou buscando conselhos.

Eu posso fazer o seguinte como um predicado:

[NSPredicate predicateWithFormat:@"ANY conditions.terrain == %@", aTerrainObject];

que funciona bem, e retorna qualquer conselho onde pelo menos uma de suas condições tenha aquele tipo de terreno.

No entanto, quando tento fazer isso, ele falha:

[NSPredicate predicateWithFormat:@"ANY conditions.terrain == nil"];

O que eu quero fazer é retornar qualquer conselho onde pelo menos uma de suas condições não tenha um tipo de terreno definido.

No entanto, o seguinte funciona:

[NSPredicate predicateWithFormat:@"SUBQUERY(conditions, $x, $x.terrain == nil).@count > 0"];

Alguém pode explicar por que, ao procurar por nil, eu não posso usar oANY sintaxe?

questionAnswers(2)

yourAnswerToTheQuestion