2012-01-20 2 views
0

Я хочу, чтобы получить доступ к UITableViewCell, который после того, как тот, который выбран и выберите, что один,UITableViewCell ошибка вызова Tableview: didSelectRowAtIndexPath:

int b = lastIndexPath.row + 1; //lastIndexPath references to the current selected cell index path 

NSIndexPath *myNextIndex = [[NSIndexPath alloc]initWithIndex:b]; 

[self tableView:table didSelectRowAtIndexPath:myNextIndex]; 

так до этого момента все отлично работает, значение Ь 2 ., но когда Tableview: didSelectRowAtIndexPath: и я хочу, чтобы получить значение I,

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 
{ 

int i = indexPath.row; 

//some other stuff 

} 

я получаю значение 81809923 для I, а значение I должно быть 2.

Я не знаю, почему это произойдет. если кто-нибудь знает, пожалуйста, помогите.

благодаря

ответ

0

Позиции в UITablleView сконструированы обоими секции и строки (даже если таблица имеет только один раздел). IOS SDK добавляет utility method специально для упрощения работы с табличными представлениями.

В этом случае, вы бы использовать его как:

NSIndexPath* myNextIndex = [NSIndexPath indexPathForRow:b inSection:0]; //call 'retain' if you need to 

Что касается вашего 81809923 значения, то есть, вероятно, случайный мусор, который оказался в памяти, так как исходный код не присваивает никакого значения к row Поле NSIndexPath.

+0

Вы абсолютно правы, спасибо! – Mona

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