Setup a Core Data request and, instead of actually issuing the query, do the following:
NSError *error = nil;
NSUInteger count = [managedObjectContext countForFetchRequest:request
error:&error];
if (!error) {
return count;
} else {
return 0;
}
In practice, the method countForFetchRequest:error: returns the number of objects a given fetch request would have returned if it had been passed to executeFetchRequest:error:.
Edit: (by Regexident)
As Josh Caswell correctly commented, the correct way to handle errors is either this:
if (count == NSNotFound) {
NSLog(@"Error: %@", error);
return 0;
}
return count;
or this (without error logging):
return (count != NSNotFound) ? count : 0;