Hi, I'm doing a fetch of some objects like this:

entity = [NSEntityDescription entityForName:kNMTopicNodeEntityKey 
inManagedObjectContext:[self managedObjectContext]];
request = [[NSFetchRequest alloc] init];
[request setEntity:entity];
[request setRelationshipKeyPathsForPrefetching:[NSArray 
arrayWithObjects:@"topic",@"view", nil]];
                
results = [[self managedObjectContext] executeFetchRequest:request 
error:&error];
if (results) {
        log4Debug(@"Loaded %d topic nodes", [results count])
}
[request release];


The log tells me id loaded my 2,000 topics.

Then later, I do the following:

// This is an array of topic nodes - the things that I have just fetched
NSArray *allTopics = [map.rootTopicNode allDescendantTopicNodesIncludingSelf];

NSSortDescriptor *sd = nil;
if (floor(NSAppKitVersionNumber) > NSAppKitVersionNumber10_5) {
        sd = [NSSortDescriptor sortDescriptorWithKey:@"view.zIndex" 
ascending:YES];
} else {
        sd = [[[NSSortDescriptor alloc] initWithKey:@"view.zIndex" 
ascending:YES] autorelease];
}

for (NMTopicNodeMO *node in [allTopics sortedArrayUsingDescriptors:[NSArray 
arrayWithObject:sd]]) {
        Do stuff....
}


But this was running really slowly, so I commented out the above couple of 
lines, and did the following check:
                
for (NMTopicNodeMO *ttn in allTopics) {
        if ([ttn isFault]) {
                log4Debug(@"Node is a fault");
        }
        if ([ttn.view isFault]) {
                log4Debug(@"View is fault");
        }
}

...and it told me that the view was a fault for every topic node (but none of 
the topic nodes were faults)! 

But I told it to pre-fetch the view relationship. Any ideas why it wouldn't 
work?



TIA

Gideon








_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to