在类型的对象上找不到tableView

时间:2012-06-29 03:15:53

标签: ios uitableview

我有一个名为FirstViewController的类,它是UIViewController的子类,我在类中有一个UITableView。当按下一行时,我需要从这个类转换到一个新的UIViewController子类(使用segues)。

我使用代码将FirstViewController设为UITableViewDelegate和UITableViewDataSource -

@interface FirstViewController : UIViewController <UITableViewDataSource, UITableViewDelegate>

我在这行代码中遇到错误 -

NSIndexPath *path = [self.tableView indexPathForSelectedRow];

如何修复此问题,因为在UITableViewController中找不到tableView而在UIViewController类中找不到?

编辑 -

这是与我的表格视图相关的代码 -

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{

    return [sarray count];
}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{

    static NSString *cellId = @"Cell";
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellId];

    if(cell == nil){
        cell = [[UITableViewCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellId];
    }

    NSString *text = [sarray objectAtIndex:[indexPath row]];
    cell.textLabel.text = text;
    return cell;
}

3 个答案:

答案 0 :(得分:5)

您可以简单地将tableView声明为属性:

@property(nonatomic, strong) IBOutlet UITableView *tableView;

答案 1 :(得分:4)

只有当您继承UITableView

时才会获得免费UITableViewController
@interface FirstViewController : UITableViewController

答案 2 :(得分:1)

您可以使用:

FirstViewController上声明一个表视图属性
@property(nonatomic, strong) IBOutlet UITableView *tableView;

然后,您需要将此属性连接到故事板中的Table View