EXC_BAD_ACCESS в didSelectRowAtIndexPath - PullRequest
0 голосов
/ 08 июля 2011

Я переписал свой метод UITableViewController didSelectRowAtIndexPath следующим образом:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    PhotoListViewController *photosViewController = [[PhotoListViewController alloc] initWithStyle:UITableViewStylePlain];

    NSLog(@"Let's see what we got %d", [[fetchedResultsController fetchedObjects] count]);

    Person *person = [fetchedResultsController objectAtIndexPath:indexPath];
    photosViewController.person = person;
    photosViewController.title = [person.name stringByAppendingString:@"'s Photos"];

    [self.navigationController pushViewController:photosViewController animated:YES];

    [photosViewController release];
}

Всякий раз, когда я пытаюсь получить доступ к fetchedResultsController, я получаю сбой, я устанавливаю его здесь:

- (id)initWithStyle:(UITableViewStyle)style
{
    self = [super initWithStyle:style];
    if (self) {
        NSPredicate *predicate = [NSPredicate predicateWithFormat:@"person = %@", person];
        fetchedResultsController = [[FlickrFetcher sharedInstance] fetchedResultsControllerForEntity:@"Photo" withPredicate:predicate];
    }
    return self;
}

И я выпускаю его только по моему dealloc методу

1 Ответ

5 голосов
/ 08 июля 2011

Похоже, что ваш пул автоматического выпуска истощается до вызова метода didSelectRowAtIndexPath. Вы пытались сохранить fetchedResultsController следующим образом:

fetchedResultsController = [[[FlickrFetcher sharedInstance] fetchedResultsControllerForEntity:@"Photo" withPredicate:predicate] retain];
...