我有一个名为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;
}
答案 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
。