I'm using the following code and I'm getting an EXC_BAD_ACCESS when trying to get the count of objects - anyone have any idea why? Oddly enough, the error only happens if the count should be one or greater, if there are no objects it s开发者_开发百科eems to work fine (it outputs null).
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription entityForName:@"TVShow" inManagedObjectContext:[self managedObjectContext]];
[fetchRequest setEntity:entity];
[fetchRequest includesPendingChanges];
//NSPredicate *predicate = [NSPredicate predicateWithFormat:@"ID == %@", showId];
//[fetchRequest setPredicate:predicate];
NSError *error;
NSLog(@"Generating Count");
NSUInteger count = [[self managedObjectContext] countForFetchRequest:fetchRequest error:&error];
if(count == NSNotFound) {
NSLog(@"error");
}
else {
NSLog(@"%@", count); // EXC_BAD_ACCESS here
}
[fetchRequest release];
Use %d instead of %@ in format strings for integers:
NSLog(@"%d", count);
Here's a list of String Format Specifiers.
精彩评论