我已经提到了Storyboard - refer to ViewController in AppDelegate。
我想问一下它是否与我们在故事板中看到的相同的viewcontroller obj。如果我们编码如下:
FirstViewController* fvc = [[UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil] instantiateViewControllerWithIdentifier:@"first"];
NSLog(@"fvc=%@", fvc);
[fvc performSegueWithIdentifier:@"go2next" sender:fvc];
我测试时,它与:
不一样 NSLog(@"self=%@", self);
[self performSegueWithIdentifier:@"go2next" sender:self];
从日志中,我可以看到它们不是同一个objs。如何通过代码从故事板获取相同的视图控制器obj?
我在storyboard中创建了两个名为(FirstViewController,SecondController)的viewcontroller,并在两者之间添加了一个segue。我尝试使用performSegueWithIdentifier转移到第二页。 [self performSegueWithIdentifier]有效,而[fvc performSegueWithIdentifier]不起作用。
答案 0 :(得分:0)
我终于解决了这个问题。如果我在AppDelegate.m中添加以下行
FirstViewController* fvc = [[UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil] instantiateViewControllerWithIdentifier:@"first"];
self.window.rootViewController = fvc;
NSLog(@"fvc=%@", fvc);
[fvc performSegueWithIdentifier:@"go2next" sender:fvc];
它的作用与:
相同NSLog(@"self=%@", self);
[self performSegueWithIdentifier:@"go2next" sender:self];