代码之家  ›  专栏  ›  技术社区  ›  philfreo

three20:将tttableitem链接到ttviewcontroller

  •  4
  • philfreo  · 技术社区  · 15 年前

    我希望我的表项显示披露箭头并链接到另一个“详细信息”屏幕。相当标准。应该有三个20来帮助解决这个问题。

    在我的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:] 方法。

    但是,因为我试图从 TTTableItem ,我不知道如何将openurl方法与它一起使用,以便传递查询。 字典 对象,因为它作为 NSString “url”参数。

    我看了讨论 here 不过,我真的很想避免修改原来的three20代码。如果可以适当延长,那就好了。

    我能用什么最简单的方法打开我的桌子 t视图控制器 并传递一个对象(例如 字典 ) ?

    2 回复  |  直到 14 年前
        1
  •  3
  •   lyonanderson    15 年前

    如果你看看 http://three20.info/core/navigation 它们向您展示了如何在不覆盖 didSelectObject 方法。

    简而言之,您可以将URL分配给对象(通过nsObject的类别),该对象映射到托管表的控制器的URL。然后,该处理程序可以打开另一个传递查询字典中相应对象的URL。

        2
  •  1
  •   philfreo    15 年前