iOS:Three20:TTTableItem委托:如何唯一地标识tableItem?

时间:2012-03-12 04:47:12

标签: ios three20 selector uniqueidentifier

(我在Three20论坛上发布了以下问题,但是no response so far!也许你们可以提供帮助。)

我在iOS应用程序中使用TTTableViewController,我希望实现一件事。

每个TTTableItem类都有一个方法来分配一个委托&选择器初始化时。

例如:TTTableTextItem有(+ itemWithText:delegate:selector :)现在,选择器方法将具有如下签名: - (void)selectorMethodForTableItem:(id)sender;我想唯一地标识所选的tableItem,但在选择器方法中我只有TTTableTextItem对象,它只有'text'参数。 ('text'参数是一个字符串,对于2个tableItems可能是相同的)

如果我为每个tableItem提供一个TTUrl,我可以轻松解决这个问题,但是当我按下tableItem时,我不想导航到新的屏幕。简单地说,我想根据用户选择的tableItem显示警告。

我该如何解决这个问题?我是否必须定义自定义TTTableItem类?

1 个答案:

答案 0 :(得分:2)

您可以为TTTableTextItem中的TTTableViewController设置一个TTURL,并在TTNavigtor接管之前“抓住”TTTableViewController中的触摸,这样您的应用就无法导航到另一个页。

/////////////////////////////////////////////////////////////////////////////////////////////////// - (void)didSelectObject:(id)object atIndexPath:(NSIndexPath *)indexPath { TTTableItem* item = object; NSLog(@"%@", item.URL); [self.tableView deselectRowAtIndexPath:indexPath animated:YES]; } 中添加此功能:

didSelectObject

请注意,此函数不会调用父TTNavigator,这意味着它不会将对象传递给{{1}}。