我希望将dataSource放在与控制器不同的文件中,但它不起作用。方法cellForRowAtIndexPath,numberOfRowsInSection和numberOfSectionsInTableView不会在我的其他文件中调用。我已将其设置为使用dataSource协议,并且在我的控制器的viewDidLoad中,我有[self.tableView setDataSource:dataModel];
。
我不明白为什么它不起作用。你可以将dataSource设置为与interfacebuilder中的viewController不同的文件吗?但它应该工作,因为viewDidLoad中的setDataSource。也许还有其他问题?
答案 0 :(得分:0)
您可以使用类别扩展类别将控制器设置为其他文件。我不确定你想要使用你的控制器有你的帖子dataSource。
在任何情况下,您仍然需要通过在非nil对象上使用setDataSource方法设置对象委托来定义委托。在您的情况下,如果您的对象为零,则自sending messages to nil is silently ignored
以来不会在您的UITableView对象上调用任何内容。
答案 1 :(得分:0)
当您将dataModel设置为dataSource时,您是否检查过dataModel是否为nil?