我正在创建一个应用程序(基于TabBar ),我正在 UINavigationController
添加 UITableViewController
一个 TableView
作为其rootViewController。
在文档中,我读到UITableViewController
拥有的delegate
,如果没有另外说明,则为dataSource
和UITableViewDelegate
他自己的tableViewController。
问题在于,从不调用两个协议(UITableViewDataSource
,NSLog()
)的方法(使用{{1}}计算出来)。
我知道我在某个时候犯过错误,无法理解。
答案 0 :(得分:0)
我不确定我是否理解你的问题,但这是一个粗略的猜测。
您是否在viewDidLoad方法的某处设置了UITableView的数据源和委托?
就像说你得到的东西是这样的:
@interface MyViewController <UITableViewDelegate,UITableViewDataSource>
{
UITableView *myTableView;
}
@property (nonatomic, retain) UITableView *myTableView;
@end
在实现文件的viewDidLoad方法中,你应该有类似的东西:
-(void) viewDidLoad
{
myTableView = [[UITableView alloc] initWithFrame:CGRectMake(0, 0, 320, 480)];
[myTableView setDelegate:self]; //this view controller (MyViewController) will be the delegate
[myTableView setDataSource:self]; // data will come from this view controller itself
...
[super viewDidLoad];
}
那是你所追求的吗?