初始加载的UIView不是从segue
问题描述:
我使用ECSlidingViewController与两个视图控制器。 'detail'视图在初始加载时显示,'detail'视图菜单栏上的按钮然后显示了'主'视图,这是一个UITableView,就像Path和Facebook UI一样。初始加载的UIView不是从segue
我的问题是我想在应用程序启动时加载此详细视图。然后这会将一些初始数据添加到我的核心数据数据库中,并在主视图的UITableView中显示一行。
如果我显示主视图并在菜单中选择一行,我执行segue到详细页面,然后使用prepareForSegue:sender正确加载数据。
如何仅在初始加载时在详细视图中执行任务,而不是在通过加载加载时执行任务?
- (void)viewDidLoad
{
[super viewDidLoad];
// Setup the view controllers
self.topViewController = [self.storyboard instantiateViewControllerWithIdentifier:@"MainTop"];
self.underLeftViewController = [self.storyboard instantiateViewControllerWithIdentifier:@"Menu"];
}
答
尝试
- (void) awakeFromNib
{
//initialisation code here
}
这时候,现场首先从已取消封存故事板文件只调用。
如果这样做没有办法,您可以使用初始化的布尔属性,在您的代码第一次运行后将其设置为TRUE。
答
就能呈现母版视图模式方式,而不是segueing:
背景信息
我在故事板负载主机和详细视图第一个视图。
+0
呈现主视图在这里不是问题。它呈现良好。我想要的只是在第一次加载时运行一个方法,而不是在使用segue加载时运行。 – JMWhittaker 2013-05-05 11:28:49
谢谢,我希望有一个稳定的解决方案,我可能从文档中错过了,以区分当UIViewController是否由segue创建。 – JMWhittaker 2013-05-08 07:55:52
@JMWhittaker - 我相当确定API中没有任何东西。通过'prepareForSegue'设置一个'arriveFromSegue'标志,或者写一个自定义的Segue,它也是这样做的吗? – foundry 2013-05-08 12:51:48
谢谢@他是这样的,我在文档中找不到任何东西。你的建议很好,设置一个标志将起作用。谢谢。 – JMWhittaker 2013-05-09 18:13:14