A
. b
e B
. a
sono inverse di molte relazioni. Perché questo predicato per A
lavoro:Perché "NOT IN" non funziona in questo NSPredicate?
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"NOT SELF IN %@", bObject.a];
mentre questo non lo fa:
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"NOT %@ IN b", bObject];
Penso che entrambe le predicati dovrebbero dare lo stesso risultato - la raccolta di A
s che non hanno alcuna relazione con bObject
via a<-->b
. Ma in effetti, il primo dà la raccolta corretta mentre il secondo no.
Aggiornamento:
Ecco un sample project cui A
. b
è incorporato da Account
. filtered_clients
e B
. a
è incorporato da Client
. filtered_by
.
Attivare il commento della riga 143 e della linea 144 in MasterViewController.m
per vedere la differenza.
Si prega di aiutarmi a trovare il bug nel mio codice, o confermare è un bug Core Data
in modo da poter segnalare ad Apple. Grazie mille.
Il tuo secondo predicato sembra testare se b non è in b - è questo che intendevi? –
Come ha fatto notare Nick: puoi dare un po 'più di codice. Qual è la variabile 'b'? Come stanno generando la richiesta di recupero? –
Per essere più chiaro, ho cambiato il nome della variabile in "bObject" che è un'istanza di B. – an0