Ich versuche, eine NSPredicate
für eine NSFetchResultsController
Ich bin in einer UITableView
verwenden. Ich habe 3 Einheiten, User
(1 zu viele) ->Visit
(1 zu viele) ->Treatment
, und möchten alle Behandlungen, die ein Benutzer hat.NSPredicate für eine NSFetchResultsController
Ich habe versucht, Unterabfragen, SELF
, ANY
, und nur als eine Rückkehr der Visits
und nicht die Treatments
zu bekommen.
Könnte mir bitte jemand sagen, wie ich auf die Behandlungseinheiten von den Benutzereinheiten zugreifen kann?
Vielen Dank im Voraus für jede Hilfe!
EDIT
Dies ist der Code, den ich zur Zeit die Behandlungen
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] initWithEntityName:kTreatmentVisits];
fetchRequest.sortDescriptors = descriptors;
fetchRequest.fetchBatchSize = 10;
fetchRequest.predicate = [NSPredicate predicateWithFormat:@"ANY treatmentVisits = %@.visitTreatment", user.userVisit];
Als Ergebnis ich die Besuche bekommen, nicht die Behandlungen
zu versuchen und holen bin mit<NSFetchRequest: 0x60b000148a40> (entity: treatmentVisits; predicate: (ANY treatmentVisits == {<Visits: 0x60b0000a0ad0> (entity: VisitsEntity; id: 0xd0000000000c000a <x-coredata://5CDB188C-2177-415B-9B74-E30B20EA4DAA/VisitsEntity/p3> ; data: {
visitCause = "";
visitEndDate = nil;
visitId = nil;
visitRecommendation = "";
visitStartDate = "2016-08-11 04:43:50 +0000";
visitTreatment = "<relationship fault: 0x60300025e6d0 'visitTreatment'>";
visitType = 0;
visitUser = "0xd000000001940000 <x-coredata://5CDB188C-2177-415B-9B74-E30B20EA4DAA/UsersEntity/p101>";
}), <Visits: 0x60b0000bec10> (entity: VisitsEntity; id: 0xd00000000008000a <x-coredata://5CDB188C-2177-415B-9B74-E30B20EA4DAA/VisitsEntity/p2> ; data: {
visitCause = "";
visitEndDate = nil;
visitId = nil;
visitRecommendation = "";
visitStartDate = "2016-08-04 20:26:33 +0000";
visitTreatment = "<relationship fault: 0x60300025e850 'visitTreatment'>";
visitType = 0;
visitUser = "0xd000000001940000 <x-coredata://5CDB188C-2177-415B-9B74-E30B20EA4DAA/UsersEntity/p101>";
}), <Visits: 0x60b000148570> (entity: VisitsEntity; id: 0xd00000000010000a <x-coredata://5CDB188C-2177-415B-9B74-E30B20EA4DAA/VisitsEntity/p4> ; data: <fault>), <Visits: 0x60b000148620> (entity: VisitsEntity; id: 0xd00000000004000a <x-coredata://5CDB188C-2177-415B-9B74-E30B20EA4DAA/VisitsEntity/p1> ; data: <fault>)}.visitTreatment); sortDescriptors: ((
"(treatmentStartTime, descending, compare:)"
)); batch size: 10; type: NSManagedObjectResultType;)
Ich möchte in der Lage sein, den Zugriff auf, was in visitTreatment ist
Ich habe auch versucht,
fetchRequest.predicate = [NSPredicate predicateWithFormat:@"SELF IN %@", user.userVisit];
mit dem gleichen Ergebnis.
Wäre schön, wenn Sie die Anfragen und Prädikate gepostet haben, die Sie bereits ausprobiert haben. –
Hallo @FelipeCypriano, ich habe den Beitrag mit dem Code, den ich verwendet habe, und dem Code, den ich verwende, mit dem Ergebnis aktualisiert, das er mir gegeben hat. – Armando
Das Protokoll, das Sie zur Verfügung gestellt haben, scheint die Ausgabe zu sein, die von der Abrufanforderung protokolliert wird, und nicht von den Ergebnissen der Ausführung des Abrufs. Siehe meine aktualisierte Antwort unten. – pbasdf