(我在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类?
答案 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}}。