无法触发UITableView委托方法“DidSelectRowAtIndexPath”
问题描述:
嗨我正在使用searchDisplayController
筛选我的搜索结果。我的代码片段如下:无法触发UITableView委托方法“DidSelectRowAtIndexPath”
- (void)viewDidLoad
{
[super viewDidLoad];
//Set up search bar
UISearchBar *tempBar = [[UISearchBar alloc]initWithFrame:CGRectMake(0,0,320,40)];
self.sBar = tempBar;
[tempBar release];
self.sBar.delegate = self;
self.sBar.tintColor = [UIColor colorWithHexString:@"#b6c0c7"];
self.sBar.placeholder = @"Search Questions and Topics";
[self.view addSubview:sBar];
self.filteredListContent = [NSMutableArray arrayWithCapacity:[self.listContent count]];
self.searchDisplayController = [[UISearchDisplayController alloc] initWithSearchBar:sBar contentsController:self];
[self setSearchDisplayController:searchDisplayController];
[searchDisplayController setDelegate:self];
[searchDisplayController setSearchResultsDataSource:self];
// restore search settings if they were saved in didReceiveMemoryWarning.
if (self.savedSearchTerm)
{
[self.searchDisplayController setActive:self.searchWasActive];
[self.searchDisplayController.searchBar setText:savedSearchTerm];
self.savedSearchTerm = nil;
}
[self.resultTableView reloadData];
self.resultTableView.scrollEnabled = YES;
}
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
NSLog(@"zzz");
}
我是否需要在我的视图中设置任何操作来触发可用的委托方法?
请注意,我已经在我的.h文件中声明了UISearchDisplayDelegate
,UISearchBarDelegate
,UITableViewDataSource
,UITableViewDelegate
。我的tableView cellForRowAtIndexPath
方法也在工作。
答
你有没有实际设置
self.tableView.delegate = self
或在Interface Builder连接起来
这是正确的,并且确保你把''在.h文件中 –
iNoob
2012-01-02 10:16:57
谢谢!但是,在哪里设置代表的最佳位置?在视图中加载?在我的情况下,它会是self.resultTableView.delegate = self – Zhen 2012-01-03 03:12:54