一般说明:
首先,我有一个UITableView
它已被放置到使用 Interface Builder 的 Xcode 生成的视图上。视图的文件所有者设置为 Xcode 生成的子类UIViewController
。对于这个子类,我添加了以下工作实现numberOfSectionsInTableView: tableView:numberOfRowsInSection:
and tableView:cellForRowAtIndexPath:
和表视图的dataSource
and delegate
通过 Interface Builder 中的文件所有者连接到此类。
上面的配置工作没有问题。当我想移动此表视图时会出现此问题dataSource
and delegate
- 实现到一个单独的类,很可能是因为除了表视图之外,视图上还有其他控件,我想将表视图相关的代码移到它自己的类中。为了实现这一目标,我尝试以下操作:
- 创建一个新的子类
UITableViewController
在Xcode中
我按照你的步骤,重新创建了项目,并遇到了同样的问题。基本上你就快到了。有两件事缺失(一旦修复就可以了):
-
您需要连接tableView
of the TableTestTableViewController
to the UITableView
你在屏幕上有。正如我之前所说,因为它不是IBOutlet
你可以覆盖tableView
财产并使其和IBOutlet
:
@interface TableTestTableViewController : UITableViewController {
UITableView *tableView;
}
@property (nonatomic, retain) IBOutlet UITableView *tableView;
-
接下来的事情是添加对TableTestTableViewController
并将其保留在TableTestViewController
。否则你的TableTestTableViewController
可能会被释放(在加载笔尖后没有任何东西挂在上面。)这就是为什么您会看到不稳定的结果,崩溃或没有显示。为此,请添加:
@interface TableTestViewController : UIViewController {
TableTestTableViewController *tableViewController;
}
@property (nonatomic, retain) IBOutlet TableTestTableViewController *tableViewController;
并将其在 Interface Builder 中连接到TableTestTableViewController
实例。
有了上面的内容,这在我的机器上运行得很好。
另外,我认为最好陈述这一切背后的动机(而不是仅仅使用UITableViewController
拥有自己的UITableView
)。就我而言,它是使用其他视图,只是UITableView
在同一屏幕上的内容。所以我可以添加其他UILabels
or UIImages
under UIView
并显示UITableView
在它们之下或之上。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)