【发布时间】:2009-11-18 18:43:35
【问题描述】:
我希望我的表格项目显示披露箭头并链接到另一个“详细信息”屏幕。很标准。 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];
}
}
但是当单击TTTableItem 时,我需要将一个对象(不仅仅是一个字符串)传递给TTViewController。我知道您可以将 NSDictionary 对象传递给
TTViewController 使用:TTNavigator 的[[TTNavigator navigator] openURL: query: animated:] 方法。
但是,由于我试图从 TTTableItem 打开这个 URL,我不知道如何使用 openURL 方法来传递一个查询 NSDictionary 对象,因为它只需要一个 @ 987654331@“URL”参数。
我阅读了here 的讨论,但我非常非常想避免修改原始 Three20 代码。如果它可以适当地扩展,那就没问题了。
让我的表格项打开TTViewController 并传递一个对象(例如NSDictionary)的最简单方法是什么?
【问题讨论】:
-
我在 Three20 Google Group 上发布了一个类似的问题,如果有解决方案,我会在此处发布。
-
如何在 TableItem 上执行此操作?我不知道如何在我的数据源中调用 didSelectRowAtIndexPath。
标签: iphone objective-c three20