Reputation: 4190
I am trying to get the number of rows for a given request. The only obvious way I've found to accomplish it is:
NSManagedObjectContext *context;
NSFetchRequest *request;
...
NSInteger count = [[context executeFetchRequest:request error:&error] count];
This seems wasteful to me, building an entire array of a large database's objects, just to find out how many there are. Is there a better way to accomplish this, in a "Core Data" way?
Thanks for the help!
Upvotes: 24
Views: 8494
Reputation: 7084
NSManagedObjectContext has a method which evaluates the count for a fetch request:
- (NSUInteger)countForFetchRequest:(NSFetchRequest *)request error:(NSError **)error;
See the API documentation.
Upvotes: 60