我有一个 UITableViewController 并且不想使用 Storyboard。
据我所知,UITableViewController 负责初始化 UITableView,将其连接到其数据源和委托(delegate)。这对我来说非常有效。
我现在想将 UITableView 的类更改为自定义类 ( BVReorderTableView )。这在 IB 中很容易完成。但是,一旦我以编程方式执行此操作,我的 UITableView 就是空的,也就是说,它似乎与其源和委托(delegate)断开了连接。
这是我在 UIViewController 的 init 中所做的事情:
-(id)init
{
self = [super initWithStyle:UITableViewStyleGrouped];
if (self) {
// Custom initialization
self.tableView = [[BVReorderTableView alloc] initWithFrame:self.view.bounds style:UITableViewStyleGrouped];
self.tableView.dataSource = self;
self.tableView.delegate = self;
}
我做错了什么?
最佳答案
由于 ViewController 生命周期的原因,您应该在 viewDidLoad 而不是 init 中实现此功能。在 viewDidLoad 中,他已经拥有了将要使用的所有对象,但这在 init 期间不一定是正确的。
您可以查看this question有关 ViewController 生命周期的更多信息。 :)
关于ios - 如何以编程方式更改 UITableView 的类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20067199/