Molto nuovo per i dati di base, ma ho letto che posso recuperare i dati che utilizzano le relazioni di entità. Ora, venendo da Mysql forse sto facendo troppe ipotesi, ma ho 2 entità impostate con una relazione tra loro e non riesco a recuperare i dati corretti.iOS 8 Il predicato Swift NSFetchResult con relazione Core Data non può accedere all'ID interno
Qui ci sono i miei 2 modelli:
@objc(Categories)
class Categories: NSManagedObject {
@NSManaged var category: String
@NSManaged var exp: String
@NSManaged var order: NSNumber
}
@objc(Techniques)
class Techniques: NSManagedObject {
@NSManaged var korean: String
@NSManaged var order: NSNumber
@NSManaged var spanish: String
@NSManaged var categories: Categories
}
Dopo che ho creato un rapporto da Tecniche per le categorie, Core Data ha aggiunto questo campo per lo Sqlite DB:
ZCATEGORIES - INTEGER
Diciamo che voglio prendere tutte le tecniche che appartengono alla categoria # 3 (con ZID interno: 3)
Se si esegue questa operazione:
request.predicate = NSPredicate(format: "categories == %@", 3)
Funziona. Ma se lo faccio:
request.predicate = NSPredicate(format: "categories == %@", category.category)
Non funziona. Capisco che non funzioni perché category.category
è una stringa, non un numero intero.
La mia domanda è:
Devo creare il mio campo ID relationhip nella Categoria entità e impostare che, quindi fare riferimento alla tecnica come:
request.predicate = NSPredicate(format: "categories == %@", category.categoryID)
?
Non c'è un modo per accedere all'ID interno della categoria per far funzionare questa relazione?
O meglio ancora, sembrerebbe a me che ci dovrebbe essere un mechanish interna per recuperare queste relazioni senza scrivere una query SQL-like, ma semplicemente utilizzando l'oggetto, qualcosa di simile a: Techniques.categores
.
Grazie. Non ho trovato una buona risposta da nessuna parte.
Giù voto perché questo può essere facilmente trovato in qualsiasi principianti nucleo dati del tutorial che coprono le relazioni. Stack Overflow non è un sostituto per l'apprendimento. – Fogmeister
Questo è un atteggiamento davvero inutile che hai lì, il minimo che potresti fare è indicarmi un link dove è facile trovarlo.Ho cercato per 2 giorni e non riesco a trovarlo per questo ho postato questo qui. Forse sono un idiota, ma la tua risposta non fa assolutamente nulla per favorire la causa dell'aiuto di altri. – kakubei
Primo risultato di Google per "relazione Core Data" https://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/CoreData/Articles/cdRelationships.html Quarto risultato per "relazione NSFetchRequest" http: // www. raywenderlich.com/934/core-data-tutorial-for-ios-getting-started. Questo secondo link ti parlerà di tutto ciò che stai attualmente cercando di fare. Non sto dicendo che sei un idiota, sto dicendo che StackOverflow non è una scusa per non uscire e cercare risposte. – Fogmeister