A
. b
y B
. a
son relaciones inversas a-muchas. ¿Por qué este predicado para A
trabajo:¿Por qué "NOT IN" no funciona en este NSPredicate?
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"NOT SELF IN %@", bObject.a];
mientras éste no lo hace:
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"NOT %@ IN b", bObject];
Creo que ambos predicados deben dar el mismo resultado - la colección de A
s que no tienen relación con bObject
a través a<-->b
. Pero, de hecho, el primero da la colección correcta mientras que el segundo no.
Actualización:
Aquí está una sample project que A
. b
está incorporado por Account
. filtered_clients
y B
. a
está incorporado por Client
. filtered_by
.
Alternar los comentarios de la línea 143 y la línea 144 en MasterViewController.m
para ver la diferencia.
Ayúdeme a encontrar el error en mi código, o confirme que es un error Core Data
para poder informarlo a Apple. Muchas gracias.
Su segundo predicado parece estar probando si b no está en b - ¿es eso lo que usted quiso decir? –
Como Nick señaló: ¿Puedes dar un poco más de código? ¿Cuál es la variable 'b'? ¿Cómo están generando la solicitud de búsqueda? –
Para ser más claro, he cambiado el nombre de la variable a "bObject" que es una instancia de B. – an0