Domanda

Ho un'entità Core Data chiamato Album; un album ha una relazione con le entità canzone (chiamati canzoni), e ogni canzone ha un conteggio arbitraria di entità Tag (in una proprietà tag), i tag avere un nome. Ora voglio verificare se una qualsiasi delle canzoni in un album contiene un tag; utilizzando un unico NSPredicate.

Un idee che mi venivano in mente era:

[NSPredicate predicateWithFormat: @"ANY (ANY songs).tags LIKE %@", someTagName];

Ma questo causa un errore in fase di esecuzione ( "Impossibile analizzare la stringa di formato"). Ho provato diverse varianti, senza successo.

Esiste un modo per fare questo?

È stato utile?

Soluzione

Penso che si desidera

[NSPredicate predicateWithFormat:@"ANY songs.@unionOfSets.tags LIKE %@", someTagName]

Controlla la sezione valore-chiave Programming Guide su set e operatori di matrice .

Altri suggerimenti

Solo un pensiero, ma forse come non è disponibile su iPhone? So che ho avuto un momento difficile con TRA, che non sembra funzionare.

Quindi, un tag non ha una relazione molti-a-molti con le canzoni? Se è stato modellato in questo modo, ottenendo le canzoni per un tag sarebbe solo comportare l'accesso ai tag.songs proprietà. Il modo in cui lo avete modellata, sembra che i tag possono essere duplicati per ogni brano (che può essere più che bene nel vostro app).

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top