MonoTouch:UITableView出口变量为空

MonoTouch:UITableView出口变量为空,uitableview,xamarin.ios,Uitableview,Xamarin.ios,我正在浏览由McClure等人编写的Wrox专业iPhone编程与MonoTouch的“使用表格导航”部分,学习为iOS构建分层UI的基础知识,并遇到以下问题 我已经创建了一个新的“带控制器的iPhone视图”文件(称为参数viewcontroller),从中删除了UIView,添加了UITableView,为其创建了一个插座(tableView),并按照教程将“文件所有者”视图插座连接到UITableView 在该视图父视图的RowSelected方法中,我实例化了我的参数viewcontro

我正在浏览由McClure等人编写的Wrox专业iPhone编程与MonoTouch的“使用表格导航”部分,学习为iOS构建分层UI的基础知识,并遇到以下问题

我已经创建了一个新的“带控制器的iPhone视图”文件(称为
参数viewcontroller
),从中删除了
UIView
,添加了
UITableView
,为其创建了一个插座(
tableView
),并按照教程将“文件所有者”视图插座连接到
UITableView

在该视图父视图的
RowSelected
方法中,我实例化了我的
参数viewcontroller
,调用默认构造函数,在其中我要设置表视图的数据源:

this.tableView.Source = new DataSource(this, new [] {"one", "two", "three"});
DataSource
是从
UITableViewSource
继承的嵌套类)

所有的编译和运行都很好,直到执行该行为止。原来
this.tableView
是空的,所以我得到了
NullReferenceException


tableView
是表的出口。它怎么可能是空的?我不能在构造函数中设置表源吗?如果没有,我在哪里做呢?

我不是100%清楚您在哪里做什么,但可能是您需要在UIViewController的ViewDidLoad方法中访问UITableView。此时,应该实例化NIB视图

如果这不是问题所在,那么如果您能够提供更多的代码,以便我们能够准确地看到正在发生的事情,这可能会有所帮助。我认为缺乏回应可能是因为人们不确定他们是否完全理解您问题的本质。

对此的解决方案是

  • 不要创建名为tableView的出口
  • 使视图成为UITableViewController的子类,而不是UIViewController
  • 请参阅我的UITableViewController的base.TableView属性,而不是我创建的属性

似乎没有接受者:-(只是尝试了一下,这不是问题所在。实际上没有太多的代码可以提供-这一定是我在Interface Builder中做过的傻事。当我最终找到解决方案时,我会用解决方案更新此问题。你能将项目压缩、上传到某个地方并发布链接吗?