重新加载并显示基于主故事板中视图的表视图

时间:2012-05-24 07:47:37

标签: ios5 tableview uistoryboard reloaddata setneedsdisplay

我正在寻找上周以来的鞋面解决方案,但我在互联网上找不到解决方案。所以我想我会在这里得到帮助。

现在可能会有疑问:我有一个MainStoryboard,里面有一个带View的ViewController。在那个视图中我放了一个tableView。 ViewController.h

IBOutlet UITableView *tableView
//on bottom
@property (nonatomic, retain) UITableView *tableView;

ViewController.m我已经合成了它,现在我想在显示视图时重新加载并显示它。 我测试的以下内容没有结果:[tableView reloadData]; [self.tableView reloadData]; [self.tableView setNeedsDisplay]; 如果我使用[self.view setNeedsDisplay];,我会遇到以下错误:

  

由于未捕获的异常'NSInternatlInconsistencyExeption'而终止应用程序,原因:'无法在捆绑中加载NIB:'NSBundle< ...> (加载)'名称'ViewController'' * 第一个thow调用堆栈:( ...)终止调用抛出异常(lldb)

这是正确的,没有NIB文件,因为我使用了故事板。有没有人有想法?

我发现的唯一的事情是,如果我通过Storyboard中的视图上的按钮重新加载视图,则会重新加载tableView - 完全重新加载 - 但这不是解决方案。

我可以在-(void)prepareForSegue:(UIStoryboard *)segue sender:(id)sender为此做些什么吗?那个方法我到目前为止仅用于弹出窗口。

1 个答案:

答案 0 :(得分:1)

您是否确实在Interface Builder中连接了IBOutlet?

Xcode应该告诉你它是否已经连接:它会在你的头文件的边缘显示一个小圆圈,如果那个圆圈里面有一个圆点就连接了,如果不是那么它就没有了。

Dots

要在Interface Builder中连接插座,右键从带有插座的东西(即视图控制器)拖动到要将其连接到(您的桌子)的东西,当你放手时它会给你一个菜单可供选择的商店。