Я хочу, чтобы в моих элементах таблицы отображалась стрелка раскрытия и ссылка на другой экран «Подробности». Довольно стандартный. Three20 должен помочь с этим.
В моем TTListDataSource я сейчас делаю:
- (void)tableViewDidLoadModel:(UITableView *)tableView
{
[super tableViewDidLoadModel:tableView];
// Construct an object that is suitable for the table view system
// from each domain object that we retrieve from the TTModel.
for (Listing *result in [(id<SearchResultsModel>)self.model results]) {
NSString *url = [NSString stringWithFormat:@"myapp://listing", result.theID];
TTTableSubtitleItem *item = [TTTableSubtitleItem itemWithText:result.title subtitle:result.desc imageURL:result.imageURL defaultImage:nil URL:url accessoryURL:nil];
[self.items addObject: item];
}
}
Но мне нужно передать объект (не просто строку) в TTViewController
при нажатии TTTableItem . Я знаю, что вы можете передать объект NSDictionary
TTViewController с использованием: TTNavigator [[TTNavigator navigator] openURL: query: animated:]
метод.
Однако, поскольку я пытаюсь открыть этот URL-адрес из TTTableItem
, я не знаю, как использовать с ним метод openURL, где я могу передать объект запроса NSDictionary
, поскольку все это принимает NSString
Параметр «URL».
Я прочитал обсуждение здесь однако я действительно, очень хотел бы избежать необходимости изменять исходный код Three20. Если это может быть должным образом продлено, это было бы хорошо.
Какой самый простой способ заставить элемент таблицы открыть TTViewController
и передать объект (например, NSDictionary
) ?