three20 TTTableView didSelectObject не вызывается - PullRequest
0 голосов
/ 15 апреля 2011

Я заполнил данные в моем TTTableViewController подклассом TTSectionedDataSource, заполненным TTTableTextItem.

 [items addObject:[TTTableTextItem itemWithText:title URL:@"tt://page"]

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

Затем я реализую didSelectObject и пытаюсь выяснить, что происходит:

- (void) didSelectObject:(id)object atIndexPath:(NSIndexPath *)indexPath {

    NSLog(@"%@",@"hahaha");
}

Но журнал не отображается, этот метод вызываться не будет. Помогите, пожалуйста.

Изменено:

Наконец-то я нашел проблему. Мой TTTableViewDragRefreshDelegate не был инициализирован должным образом.

- (id<UITableViewDelegate>) createDelegate {

    return [[[TTTableViewDragRefreshDelegate alloc] init] autorelease];

}

Это должно быть:

- (id<TTTableViewDelegate>) createDelegate {

    TTTableViewDragRefreshDelegate *delegate = [[TTTableViewDragRefreshDelegate alloc] initWithController:self];

    return [delegate autorelease];
}

1 Ответ

0 голосов
/ 15 апреля 2011

Я считаю, что метод didSelectObject вызывается только в том случае, если в вашем TTTableTextItem указан URL-адрес nil, поскольку он указывает, что вы хотите обрабатывать щелчок самостоятельно.Попробуйте установить nil и посмотреть, будет ли вызван ваш didSelectObject.Но если вы не хотите, чтобы какое-либо конкретное действие выполнялось нажатием на элемент, кроме открытия нового ViewController, вам не нужно переопределять метод.Просто убедитесь, что ваша @ "tt: // page" действительно указывает на что-то в вашем TTURLMap

...