0

既にStoryboard を参照しました - AppDelegate の ViewController を参照してください

ストーリーボードで確認できるのと同じ 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];

ログから、それらが同じオブジェクトではないことがわかります。コードでストーリーボードから同じView Controller objを取得するにはどうすればよいですか?

ストーリーボードに(FirstViewController、SecondController)という名前の2つのビューコントローラーを作成し、2つの間にセグエを追加しました。2 ページ目に転送するために performSegueWithIdentifier を使用しようとしました。[self performSegueWithIdentifier] は機能しますが、[fvc performSegueWithIdentifier] は機能しません。

4

1 に答える 1

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];
于 2012-09-06T18:34:50.617 に答える