Ho due entità Libri e Pacchetti. Un libro non può appartenere a nessuno, a uno o più pacchi. Quindi ho una relazione bidirezionale per molti tra queste entità.iPhone - dati principali Relazione NSSet
Sto per impostare il valore di questa relazione nella parte Libro.
Se l'attributo è stato un normale, vorrei semplicemente fare qualcosa di simile
aBook.title = @"this is my title";
Se volevo impostare il titolo per un libro. Ma poiché questa è una relazione bidirezionale per molti, i dati di base dicono che è un attributo NSSet.
La mia domanda è: come faccio a impostare e leggere valori da questo attributo?
Prima ho pensato che fosse un normale NSSet. Così, dopo aver letto il prodotto che semplice fatto
NSSet *aSet = Book.fromBundle;
ma per il mio sgomento aSet conteneva lo zero oggetti
così ho pensato che stavo mettendolo in errore. ho impostato in precedenza facendo
Book.fromBundle = [NSSet setWithObject:aBundle];
(sì, tutte le modifiche sono state salvate nel database)
mi sto perdendo qualcosa? Grazie
grazie. L'app non si arresta più, ma dopo aver usato questo comando più volte per aggiungere diversi pacchetti a un libro, il libro memorizza solo l'ultimo. Ho ispezionato il database in un'app esterna perché non ho ancora capito come creare un predicato sulla richiesta da verificare e vedere se l'oggetto bundle si trova suBundle. In una relazione troppo multipla userei [NSPredicate predicateWithFormat: @ "(fromBundle ==% @)", aBundle], ma non ho idea di come farlo su un NSSet ... se puoi aiutare anche con quello, Apprezzo (se non è chiedere troppo) ...: D – SpaceDog
Le relazioni uno-a-molti sono fondamentalmente le stesse delle relazioni molti-a-molti. Entrambi sono rappresentati come NSSets. L'unica differenza è come viene impostata la relazione inversa. Dovresti essere in grado di fare la stessa cosa che faresti per una relazione uno-a-molti. – ughoavgfhw
grazie !!!!!!!!!!!! – SpaceDog