Prefetching met kerngegevens werkt niet voor een bepaalde relatie

Ik voer een ophaalopdracht uit op een MessageObject en prefetching het volgende:

[fetchRequest setRelationshipKeyPathsForPrefetching:
   [NSArray arrayWithObjects:@"tags", @"date", nil]];

Tags is een veel-op-veel-relatie (dat wil zeggen dat een tag veel berichten kan bevatten en een bericht kan vele tags bevatten), terwijl datum een ​​op-een relatie is (een bericht kan maar één datum hebben terwijl een Datum kan veel berichten bevatten).

As I scroll down my table, I access both Tags and Date. I have SQLite debugging enabled, so every time Core Data executes a fault request, it appears in the log. For some reason, the Date property is not being prefetched, since every time I scroll, I get CoreData: annotation: fault fulfilled from database for : 0x85bc7b0

Dit wordt echter niet weergegeven voor de datum van de tags, alleen. Als ik de tag-eigenschap niet vooraf ophaal, verschijnt datzelfde bericht voor tags wanneer ik scrol, dus ik weet dat de prefetch werkt, alleen niet voor de eigenschap Date.

Is er iets dat ik niet begrijp over prefetching? Een Date-object heeft een tekenreekseigenschap en in mijn celForRow krijg ik toegang tot deze tekenreekseigenschap, waardoor de fout om een ​​of andere reden wordt geactiveerd (hoewel deze al had moeten worden gerealiseerd sinds de prefetched was). Begrijp ik het verkeerd?

1
Welnu, ik heb het nodig als een relatie zodat mijn Date-object meerdere Message-objecten kan hebben. Een NSDate zal dat niet doen
toegevoegd de auteur Snowman, de bron
Hoe nauwkeurig is je date? Als het een seconde is, is het misschien beter om geen relatie te gebruiken, maar een eigenschap/kenmerk van NSDate .
toegevoegd de auteur Mundi, de bron
Dus ik denk dat het uren, minuten en seconden uitsluit? U kunt nog steeds naar meerdere berichten gaan met een predikaat.
toegevoegd de auteur Mundi, de bron

Geen antwoorden

0