Передать результаты Core Data в UILabel - PullRequest
1 голос
/ 22 апреля 2011

Я выбираю строку из таблицы. Я хочу передать результаты этого выбора UILabel в новом представлении. Нужна ли мне подпрограмма NSFetchRequestController для следующего? Я хотел более простой способ передать выборку данных ядра события в не-UITableView Controller (просто обычный UIViewController).

Запрос 'в objectIndexPath ниже вызывает ошибку.

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    ReviewController *reviewViewController = [[ReviewController alloc] init];
    NSFetchRequest *request = [[NSFetchRequest alloc] init];
    NSEntityDescription *entity = [NSEntityDescription entityForName:@"Event" inManagedObjectContext:managedObjectContext];
    [request setEntity:entity];

    Event *selectedEvent = (Event *)[request objectAtIndexPath:indexPath];
    reviewViewController.event = selectedEvent; 
    [self.navigationController pushViewController:reviewViewController animated:YES];
    [reviewViewController release];
} 

1 Ответ

3 голосов
/ 22 апреля 2011

Вам не нужен новый извлеченный контроллер результатов.Вы просто передаете управляемый объект, связанный с выбранной строкой таблицы, следующему контроллеру.Вы получаете ошибку, потому что вы не выполнили выборку, и в любом случае запрос на выборку не имеет метода objectAtIndexPath.

Если у вас есть выбранный контроллер результатов для просмотра таблицы, вы найдете выделенный объект с помощью:

reviewViewController.event =[[self.fetchedResultsController fetchedObjects] objectAtIndex:index.row];
...