UITableView不调用numberOfRowsInSection或cellForRowAtIndexPath

时间:2012-07-11 01:24:35

标签: objective-c ios xcode

我不知道该怎么想...... 我将主视图设置为包含UITableView。 (我在该视图上也使用了UIPickerView。)

我将其定义为符合协议:

UIPickerViewDelegate,
UIPickerViewDataSource,
UITableViewDataSource,
UITableViewDelegate

在我视图的h中宣布了两种方法:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath;
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section;

在m:

中实现它们
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    UITableViewCell *cell=[[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"cell"] autorelease];
    cell.textLabel.text = [NSString stringWithFormat:@"Test %d",indexPath];
    return cell;
}

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
    return 5;
}

我确实在viewDidLoad

中设置了委托
searchTableView = [[UITableView alloc] init];
[searchTableView setFrame:CGRectMake(searchBar.frame.origin.x+10, 50, searchBar.frame.size.width-20, 300)];
searchTableView.delegate=self;

但是,不会调用numberOfRowsInSection和cellForRowAtIndexPath!

我做错了什么?

1 个答案:

答案 0 :(得分:5)

设置数据源:

[searchTableView setDataSource:self];