以OO方式尝试更多编程。
注:
似乎问题与在另一个UIScrollView上安装UITableView(这是一种scrollview)有关。试图弄清楚如何使这项工作。
所以我创建了一个UITableViewController子类,并将其作为Mainview类中的对象添加。
@interface NRTableVC : UITableViewController <UITableViewDelegate, UITableViewDataSource>
{
NSArray * tableLabelsArray;
}
@end
表格滚动并显示OK。
但我的
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
NSLog(@"Did select row");
}
方法永远不会被调用。
在我的Mainview类中,我使用它如下
RTable = [[[NRTableVC alloc] initWithStyle:UITableViewStylePlain]autorelease];
[scrollview addSubview:RTable.view];
我想知道所以我需要以某种方式将自己设置为代表或类似的东西。
任何人都可以给我一些关于错误的提示吗?
非常感谢, 代码
答案 0 :(得分:1)
我通常做的是,在View中我希望tableview创建一个实例
我在ViewDidLoad或LoadView方法
中执行此操作UITableView *tableView = [UITableView alloc] init...
tableView.delegate = self;
tableView.datasource = self;
然后我将其添加为当前视图的子视图。
这意味着您的MainView需要实现tableView数据源和委托方法。
编辑:
如果使用界面构建器,请记住拖动数据源并委托给文件所有者
答案 1 :(得分:1)
您是否为tableview设置了委托?如果没有委托设置,它将不会调用任何委托方法。
答案 2 :(得分:1)
是否保留RTable
?您正在自动释放它,但是您没有显示任何表明它被保留在任何地方的代码。