iPhone:TabView + 表格视图

发布于 2024-07-13 11:58:11 字数 1138 浏览 7 评论 0原文

我认为我错过了一些简单的东西,但我无法弄清楚它到底是什么。

我正在尝试使用 UITabViewController 设置一个应用程序,其中一个选项卡将具有 UITableView 和 UISearchBar (但没有导航控制器)。 我使用界面生成器中的所有选项卡设置了 UITabViewController,并且视图位于它们自己的 xib 文件中。 具有 UITableView 的选项卡的 xib 文件设置并连接如下。

浏览器中的内容: 文件的所有者(类是我的自定义类,它是 UITableViewController 的子级)视图 -> 查看

View (class UIView, reference view -> File's owner) contains:
      UITableView (if i try and set references to the data source / delegate, the app breaks)
      UISearchBar (unconfigured at the moment)

此设置显示所有项目并且不会锁定,但是当我尝试使用 UITableView 加载选项卡时,我无法分配数据源而不崩溃。 我应该怎么做才能将数据放入此表中,无论是在 IB 中还是在代码中? 我的想法如下:

  1. 实现自定义 UITableView 类,连接到 IB 中的表视图或 Xcode 中的自定义 tableviewcontroller。
  2. 将头或笔记本电脑靠在墙上,直到其正常工作。

更新: 这是当我连接 Tableview 的数据源并委托给文件所有者(谁的类是我的自定义 tableviewcontroller)时模拟器推送到控制台的错误。

2/14/09 6:59:12 PM TabBarWillbeRight[33172] * 由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“* -[UIViewController tableView:numberOfRowsInSection:]: 无法识别选择器发送到实例0x523760

I think I'm missing something simple, but I can't figure out exactly what it is.

I'm trying to set up an App with a UITabViewController, and one of the Tabs will have a UITableView and UISearchBar (but no Navigation Controller). I set up the UITabViewController with all the tabs in interface builder, and the views are in their own xib files. The xib file for the tab with the UITableView is set up and connected as follows.

Stuff in the browser:
File's owner (Class is my custom class that is a child of UITableViewController) view -> View

View (class UIView, reference view -> File's owner) contains:
      UITableView (if i try and set references to the data source / delegate, the app breaks)
      UISearchBar (unconfigured at the moment)

This setup displays all the items and doesn't lock up, but I can't assign a DataSource without it crashing when i try and load the tab with the UITableView. What should I do to get data into this table, either in IB or code? My ideas are as follows:

  1. Implement custom UITableView class, hook up to table view in IB or to custom tableviewcontroller in Xcode.
  2. Pound head or laptop against the wall until it works.

Update:
Here's the error the simulator pushes to the console when I connect the Tableview's data source and delegate to File Owner (who's class is my custom tableviewcontroller).

2/14/09 6:59:12 PM TabBarWillbeRight[33172] * Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '* -[UIViewController tableView:numberOfRowsInSection:]: unrecognized selector sent to instance 0x523760

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

浅紫色的梦幻 2024-07-20 11:58:11

我遇到了类似的问题,并显示相同的错误消息。 简单的解决方案是单击 IB 中 TabBarController 中的视图(灰色矩形,上面写着“视图加载自..”),并将元素的类更改为我的 TableViewController 的类名。

I had a similiar Issue with the same error message. The simple solution was to click at the View in the TabBarController (The grey rectangle which says "view loaded from..") in IB and change the class of the element to the classname of my TableViewController.

太傻旳人生 2024-07-20 11:58:11

我有同样的问题。
1. 确保您的视图实现了数据源方法
2. 在 IB 中,将视图的类标识设置为实现数据源方法的类。
3.右键单击IB中的视图并检查数据源是否连接到文件所有者,而不是视图
在 IB 中连接 TableView

I had the same problem.
1. Make sure your View implements the datasource methods
2. In IB, set the the Class identity for your view to the class which implements the datasource methods.
3. Right click on the view in IB and check the datasource is hooked up to Files Owner, not View
Hooking up TableView in IB

逆夏时光 2024-07-20 11:58:11

如果您无法在不崩溃的情况下分配数据源,则表明某些数据源委托方法尚未实现。

特别是您指定为数据源的类应该实现 UITableViewDataSource

If you can't assign the DataSource without it crashing, then that suggests that some of the the DataSource delegate methods have not been implemented.

In particular the class you are assigning as the data source should implement UITableViewDataSource

左秋 2024-07-20 11:58:11

您确定您的类实现了 UITableViewDelegate 和 UITableViewDataSource 类吗? 另请检查视图控制器的声明。 你的 .h 文件应该是这样的

@interface MyClass:UIViewController <UITableViewDelegate,UITableViewDataSource>

其他一切似乎都已就位。 如果类声明没有指定它实现 UITableViewDelegate 和 DataSource,那么一旦设置数据源就会出现异常。

Are you sure your class implements UITableViewDelegate and UITableViewDataSource classes? Also check the declaration of your viewcontroller. Your .h file should be something like this

@interface MyClass:UIViewController <UITableViewDelegate,UITableViewDataSource>

Everything else seems to be in place. If the class declaration does not specify that it implements UITableViewDelegate and DataSource, you will get the exception as soon as you set the datasource.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文