1. ホーム
  2. xcode

[解決済み] StoryBoard IDとは何ですか、どのように使用するのですか?

2022-10-08 13:54:02

質問

IOSの開発初心者で、最近Xcode 4.5を始めました。私は、すべてのviewControllerについて、ストーリーボードIDを含むいくつかのID変数を設定することができることを見ました。これは何ですか、そしてどのように私はそれを使用できますか?

stackoverflowで検索し始めたのですが、それに対する説明が見つかりませんでした。

私はそれが私のコントローラを覚えておくために設定することができるいくつかの愚かなラベルではないことを仮定しましたか?それは何をするのでしょうか。

どのように解決するのですか?

ストーリーボードIDはStringフィールドで、そのストーリーボードViewControllerを基に新しいViewControllerを作成するために使用します。使用例としては、任意のViewControllerから使用することができます。

//Maybe make a button that when clicked calls this method

- (IBAction)buttonPressed:(id)sender
{
    MyCustomViewController *vc = [self.storyboard instantiateViewControllerWithIdentifier:@"MyViewController"];

   [self presentViewController:vc animated:YES completion:nil];
}

これは、"MyViewController"と名付けたストーリーボードのViewControllerを基にMyCustomViewControllerを作成し、現在のView Controllerの上に表示するものです。

また、アプリのデリゲートにいる場合、以下のように使うことができます。

UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard"
                                                         bundle: nil];

編集:Swift

@IBAction func buttonPressed(sender: AnyObject) {
    let vc = storyboard?.instantiateViewControllerWithIdentifier("MyViewController") as MyCustomViewController
    presentViewController(vc, animated: true, completion: nil)
}

Swift >= 3 用に編集します。

@IBAction func buttonPressed(sender: Any) {
    let vc = storyboard?.instantiateViewController(withIdentifier: "MyViewController") as! ViewController
    present(vc, animated: true, completion: nil)
}

let storyboard = UIStoryboard(name: "MainStoryboard", bundle: nil)