0

在我的代码中,我使用了一个 tableview,其中一些方法被调用,而另一些则没有。

在 initwithframe 中:

_table.delegate = self;
_table.dataSource = self;

这就是所谓的

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString *identifier = @"TRAutocompleteCell";

    id cell = [tableView dequeueReusableCellWithIdentifier:identifier];
    if (cell == nil)
        cell = [_cellFactory createReusableCellWithIdentifier:identifier];

    NSLog(@"got here 3");

    NSAssert([cell isKindOfClass:[UITableViewCell class]], @"Cell must inherit from UITableViewCell");
    NSAssert([cell conformsToProtocol:@protocol(TRAutocompletionCell)], @"Cell must conform TRAutocompletionCell");
    UITableViewCell <TRAutocompletionCell> *completionCell = (UITableViewCell <TRAutocompletionCell> *) cell;

    id suggestion = self.suggestions[(NSUInteger) indexPath.row];
    NSAssert([suggestion conformsToProtocol:@protocol(TRSuggestionItem)], @"Suggestion item must conform TRSuggestionItem");
    id <TRSuggestionItem> suggestionItem = (id <TRSuggestionItem>) suggestion;

    [completionCell updateWith:suggestionItem];

    return cell;
}

但这不会在同一个文件中被调用。

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
    NSLog(@"got here 5");
    id suggestion = self.suggestions[(NSUInteger) indexPath.row];
    NSLog(@"got here 4");
    NSAssert([suggestion conformsToProtocol:@protocol(TRSuggestionItem)], @"Suggestion item must conform TRSuggestionItem");

    self.selectedSuggestion = (id <TRSuggestionItem>) suggestion;

    _queryTextField.text = self.selectedSuggestion.completionText;
    [_queryTextField resignFirstResponder];

    if (self.didAutocompleteWith)
        self.didAutocompleteWith(self.selectedSuggestion);

}
4

2 回答 2

0

问题不在于实现,而在于我的手势识别。

我在视图中添加了一个列表器,以捕获正在调用的文本框外的点击事件。我不完全知道为什么这两者发生冲突,但是当我删除它时,它正在工作。

表格视图用于在我的文本框中自动完成。

于 2013-03-20T12:45:42.843 回答
-1

你做了吗:

yourTableView.delegate = self;
yourTableView.dataSource = self;

在创建 tableView 时。

如果是 .xib 文件,你是否连接了委托和数据源?

于 2013-03-20T12:47:40.563 回答