Skip to main content

Objective-Cでsegueを使って画面遷移する

絶対に挫折しないiPhoneアプリ開発「超」入門 第7版 【Xcode 10 & iOS 12】 完全対応 (Informatics&IDEA)

新品価格
¥2,970から
(2019/7/7 19:56時点)


今更Objective-cなんだけど・・・・
Storyboardで画面遷移はSegueを使って接続する
これをコードでどうやって使うかという話


・元のコード
もうなんでこんなコード書いてたか不明
StoryboardからちゃんとViewController取ってきてるところがうける

NSInteger a = 1;
AController *aController = [self.storyboard instantiateViewControllerWithIdentifier:@"a"];
aController.id = a;
#modalならpresentViewController
[self.navigationController pushViewController:aController animated:YES];

・segueを使ったコード
modalかどうかはStoryboardに書いてある

NSInteger a;
a = 1;
[self performSegueWithIdentifier:@"aSegue" sender:nil];

パラメーターはprepareForSeugeでやるので渡すパラメーターはglobalにする必要がある

-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{
    if([[segue identifier] isEqualToString:@"aSegue"]) {
        AController *aController = [segue destinationViewController];
        aController.id = a;
    }
}

 

これにてうまく行きました
なんで今までこうしてなかったんだろうと思いますた
そろそろSwift化進めたい

関連記事:

Pocket