0

Я использую fetchresultscontroller, возвращая отличные результаты (NSDictionaryResultType), который имеет несколько разделов и строк в каждом разделе. Когда я использую indexPathForSelectedRow, он возвращает null. Вот мой код:IndexPathForSelectedRow возвращает null

-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender 
{  
    if ([segue.identifier isEqualToString:@"toDetailViewSeg"]){ 
     WLDetailTableViewController *detailController =segue.destinationViewController; 
     WeightLiftingInfo *theInfo = [[_fetchedResultsController fetchedObjects] objectAtIndex:self.tableView.indexPathForSelectedRow.row]; 
     detailController.muscleGroupInfo = [theInfo valueForKey:@"muscleGroup"]; 
     detailController.specificExerciseInfo = [theInfo valueForKey:@"specificExercise"]; 
     detailController.managedObjectContext = _managedObjectContext; 
    } 

} 

Как получить правильный путь индекса?

+1

Этот вопрос выглядит подозрительно похожим ([link] (http://stackoverflow.com/q/9073309/335858)). Я не уверен на 100%, поэтому я не буду голосовать, закрывая это как дубликат. – dasblinkenlight

+0

Удалите ветку инструкции 'if', которая не будет выполнена. –

+0

Попробуйте использовать '[sender indexPathForSelectedRow]' как предложено _a comment_ для [этого ответа] (http://stackoverflow.com/a/8130716/608157) –

ответ

0
WeightLiftingInfo *theIndo = [_fetchedResultsController objectAtIndexPath:self.tableView.indexPathForSelectedRow]; 

Это, кажется, ответ. Он обеспечивает правильный путь индекса, который выглядит как набор [x, y] вместо одного целого. (это моя интерпретация, которая может быть неправильной)

Смежные вопросы