core-data iphone de cacao prédicat one-to-many fetchrequest
-
20-09-2019 - |
Question
J'ai un ensemble de données où l'un des attributs (Firmware) est un à plusieurs.
Si je veux obtenir des enregistrements où l'ID du firmware est 1 Je peux créer un prédicat en utilisant
@"(ANY Firmware.FID==1)"
Alors j'ai une autre série de conditions qui affiner l'ensemble encore plus en utilisant
(TopLevel==YES) AND (Parent>0)
Comment puis-je les combiner ou le configurer de sorte que le premier il filtre le firmware puis il filtre la deuxième condition? En fin de compte, je veux que tous les enregistrements où Firmware.FID = 1 et TopLevel == OUI et Parent> 0.
Merci, Howie
La solution
Vous devriez pouvoir utiliser ce prédicat:
[NSPredicate predicateWithFormat:@"TopLevel == %@ AND Parent > %@ AND ANY Firmware.FID == %@",[NSNumber numberWithBool:YES],[NSNumber numberWithInteger:0],[NSNumber numberWithInteger:1]];
je me suis déplacé la condition sur « TOUT Firmware.FID » dernier car il est le plus complexe et il peut être évité si l'une des autres conditions a déjà échoué.