views:

90

answers:

1

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 seems 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];
+3  A: 

Use %d instead of %@ in format strings for integers:

NSLog(@"%d", count);

Here's a list of String Format Specifiers.

DyingCactus
Ahh Ha! Thanks!
BarrettJ