使用iOS SDK,我有一个UITableViewController的子类
@interface MyViewController : UITablewViewController
@end
UITableViewController的dataSource和delegate属性自动设置为MyViewController。
我不确定为什么会这样。我认为'self'在初始化时将是UITableViewController实例,而不是子类。
有人可以帮助解释委托和dataSource如何指向子类,而不是UITableViewController。
由于
答案 0 :(得分:1)
我会试着用非常简单的话说:
您正在创建UITableViewController子类的对象,而不是UITableViewController本身的对象。
您的委托和dataSource将指向将表格视图放在屏幕上的viewController(通常已完成)。
所以现在将从这个viewController调用所有的delegate和dataSource方法。
从Apple查看this sample code。希望这应该更清楚。
答案 1 :(得分:0)
像这样更改你的代码 -
1.来自UIViewController的Inherit MyViewController
2.在MyViewController中创建一个UITableViewController对象
3.将委托和数据源属性设置为self。
代码:
MyViewController.h
@interface MyViewController : UIViewController
@end
MyViewController.m
@implementation MyViewController
-(void)viewDidLoad{
UITableViewController *tableView = [[UITableViewController alloc]init];
tableView.delegate = self;
tableView.datasource = self;
}
----------
@end
我认为它会对你有帮助......