1

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

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

@interface FirstViewController : UIViewController <UITableViewDataSource, UITableViewDelegate>

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

NSIndexPath *path = [self.tableView indexPathForSelectedRow];

由于 tableView 是在 UITableViewController 而不是 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;
}
4

3 回答 3

5

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

@property(nonatomic, strong) IBOutlet UITableView *tableView;
于 2012-06-29T03:24:52.720 回答
4

UITableView只有在子类化时,您才能获得免费UITableViewController

@interface FirstViewController : UITableViewController
于 2012-06-29T03:28:52.877 回答
1

您可以在使用时简单地声明一个表视图属性FirstViewController

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

然后,您需要将此属性连接到Table View情节提要中的 。

于 2014-02-07T04:33:33.433 回答