bâtiment sur this question, j'ai réussi à utiliser défaire les groupes et un contexte unique objet géré à la poignée en ajoutant un Cocktail
qui peut faire référence existant Ingredients
et/ou Brands
.NSPredicate d'exclure NSManagedObjects qui ne sont pas enregistrés dans un NSFetchedResultsController
Maintenant, je suis coincé avec une interface utilisateur nit - dans le contrôleur de résultats récupérés (triés par cocktail.name
), vous pouvez voir brièvement une ligne vide pour le Cocktail
à ajouter. Marcus Zarra a suggéré:
Vous pouvez ajouter au prédicat pour filtrer les objets non sauvegardés, par exemple en utilisant
(entity.isTemporaryID == NO)
.
mais chaque itération j'ai essayé revient avec des erreurs de forme
Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'keypath entity.isTemporaryID not found in entity <NSSQLEntity Cocktail id=4>'
Comment peut-on exécuter l'équivalent de [[cocktail objectID] isTemporaryID]
dans un NSPredicate
?
Votre cas est correct: l'entité a été ajoutée mais pas encore renseignée dans le contrôleur de détail. J'espérais utiliser un prédicat sur l'objectID temporaire plutôt que de rechercher des clés vides ou d'ajouter un indicateur au modèle de données. – iPhoneDollaraire
Vous avez également la possibilité de créer d'abord l'objet, puis de l'ajouter ultérieurement au contexte de l'objet géré. Si vous le faites de cette façon, l'objet ne s'affiche pas dans les extractions jusqu'à ce que vous l'ajoutiez. – TechZen