加载了“ChatView”笔尖,但没有得到UITableView。

时间:2011-04-24 19:42:48

标签: objective-c cocoa-touch

我有一个自定义的UITableViewController(“ChatView”),它有一个tableView的输出。在界面构建器中,我已将笔尖中的tableView连接到插座。当视图加载时,我得到上述错误。视图通过tabcontroller加载。

我已经对错误进行了一些研究,我似乎无法追查这个问题。如果有人能让我朝着正确的方向努力解决这个问题,我将不胜感激。

@interface ChatViewController : UITableViewController
<UITableViewDelegate, UITableViewDataSource> {

    NSMutableArray *chatMessages;
    IBOutlet UITableView *chatTable;
    IBOutlet UITextField *chatText;


}

@property(nonatomic, retain) IBOutlet UITextField *chatText;
@property (nonatomic, retain) IBOutlet  UITableView *chatTable;
@property (nonatomic, retain) NSMutableArray *chatMessages;


-(IBAction)sendPressed;


@end

由于

8 个答案:

答案 0 :(得分:11)

有类似的问题。运行时转储说:

  

加载了nib但没有得到UITableView

我在故事板上搞定了一切。我有一个viewController作为主类,并有一个UITableView对象,里面有一个自定义单元格。

然而,问题是我的自定义类'以某种方式'最终成为UITableView而不是:

@interface iPadDetailViewController : UIViewController <UITableViewDelegate> {
    IBOutlet UITableView *tableBox;
}

一旦我设法将故事板类型与自定义类类型匹配,就可以了。

故事的寓意,xCode和编译器通常是正确的。检查您的班级匹配。

答案 1 :(得分:6)

如果您的课程是UITableViewController,则必须将view插座连接到表格视图。如果您想要一个包含UITableView的视图,那么简单地使控制器成为符合UIViewControllerUITableViewDelegate协议的UITableViewDataSource,这将会消失。

答案 2 :(得分:1)

ChatViewControllerUITableViewController的子类,这就是为什么,编译器假设它的view属性是UITableView,但不是,这就是你崩溃的原因。 UITableView对象必须与File's Owner

相关联

enter image description here

答案 3 :(得分:0)

嗯 - 实际上,UITableViewController不是UITableView。因此,错误消息是正确的...我不知道你的代码,但ChatViewCotroller实际上不是一个ChatView并且基于UITableView?

答案 4 :(得分:0)

在MainView.xib中,我将视图控制器设置为“选项卡控制器属性”属性中的“表视图控制器”。这解决了这个问题。

答案 5 :(得分:0)

就我而言,我的视图控制器确实不是UITableViewController。我认为这是因为我在故事板上看起来像是一个。实际上它是一个导航控制器,我在它上面放了一个UITableView。

我能够发现它实际上不是UITableViewController的方式是通过在文本编辑器中查看.storyboard文件。这是非常容易阅读的XML。为了解决这个问题,我在故事板上放了一个UITableViewController,从我一直使用的导航控制器上复制并粘贴了所有内容,然后删除了导航控制器。

答案 6 :(得分:0)

我还遇到了#34;加载了 _ __ _ _ nib,但没有获得UITableView。 &#39;&#34;我不知道是什么造成了它,但当我移动时(如移动几个像素然后移回原位)我的故事板中的违规场景,保存文件,清理并再次构建

答案 7 :(得分:0)

我也收到了此错误消息。我发生了什么事情,我控制点击了一个 View Controller 对象拖到我的故事板上,但自定义类实际上是一个 UITableViewController 子类而不是UIViewController子类。

在运行时,当我的自定义UITableViewController子类加载其视图时,它期待一个UITableView,但它从Interface Builder获得了一个UIView。修复方法是从故事板中删除旧的视图控制器对象,然后按住Ctrl键单击拖动表视图控制器对象。