Проблема новобранца Obj-C - выбранный UITableViewCell не отображает данные в подвиде UIView - PullRequest
1 голос
/ 30 мая 2011

У меня есть UITableViewCell, который при нажатии отображает UIView, загруженный из файла .xib.Когда я щелкаю ячейку, представление успешно отображается, однако данные, которые я хочу отобразить в элементах представления, не отображаются.

Код:

 - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
 // Navigation logic
 NSLog(@"didSelectRowAtIndexPath");

 //Initialize a UIView that contains all the elements required to display the data
 EventDescriptionView *dView = [[EventDescriptionView alloc] init];
 //Set the data in the elements to the data contained in the xml
 //Set up the cell
 int storyIndex = indexPath.row;
 [[dView name] setText:[[stories objectAtIndex: storyIndex] objectForKey: @"title"]];
 [[dView date] setText:[[stories objectAtIndex: storyIndex] objectForKey: @"date"]];
 NSLog(@"Index: %d", storyIndex);
 [[dView image] setImage:[images objectAtIndex:storyIndex]];
 //Display the UIView
 [UIView beginAnimations:nil context:nil];

 [UIView setAnimationDuration:0.5];

 [UIView setAnimationTransition:UIViewAnimationTransitionFlipFromLeft  forView:self.view cache:YES];

 [self.view addSubview:dView.view];

 [UIView commitAnimations];

}

Я вижу строки:

[[dView name] setText:[[stories objectAtIndex: storyIndex] objectForKey: @"title"]];
 [[dView date] setText:[[stories objectAtIndex: storyIndex] objectForKey: @"date"]];
 NSLog(@"Index: %d", storyIndex);
 [[dView image] setImage:[images objectAtIndex:storyIndex]];

Не распознает элементы dView и, следовательно, успешно устанавливает данные, но я не понимаю, как это обойти?

Спасибо,

Джек

1 Ответ

2 голосов
/ 30 мая 2011

Кажется, проблема в этой строке.

int storyIndex = [indexPath indexAtPosition: [indexPath length] - 1];

Это кажется чуждым для UITableView объекта, поскольку они отображаются на rows и sections. Поскольку я ожидаю, что stories отобразится в текущей строке, я думаю, что ваш storyIndex должен быть -

int storyIndex = indexPath.row;
...