私はこのコード行を持っています:
[UIStoryboard storyboardWithName:(NSString *) bundle (NSBundle *)];
とストーリーボードファイル。コントローラの名前を実際にどこに挿入し、バンドルはどこにありますか?
ばかげた質問ですが、わかりません
すべてが本当に簡単です!
これはコードです:
UIStoryboard *storyboard =
[UIStoryboard storyboardWithName:@"MainStoryboard"
bundle:[NSBundle mainBundle]];
@"Main Storyboard"は、.storyboard ファイルの名前です。バンドルは、.storyboardファイルを含む単なるバンドルであり、通常はアプリのメイン バンドルです。
たとえば、UINavigationController のスタックにプッシュする目的で、いくつかの UIViewControllers にアクセスしたい場合は、次のようにする必要があります。
UIViewController *yourViewController =
[storyboard instantiateViewControllerWithIdentifier:@"viewControllerIdentifier"];
Xcode の Identity Inspector で Identifier を UIViewController に設定できます。
それがあなたを助けることを願っています!
nameパラメータは、ファイルの名前.storyboardです(拡張子なし)。
通常、アプリケーションのbundleメイン バンドルです。一般にnil、ランタイムがデフォルトでメイン バンドル内のストーリーボード ファイルを検索するように を渡します ( を渡す場合と同じ[NSBundle mainBundle])。実際には、通常、iOS アプリケーションには 1 つのバンドルしかありません。これは、IPA バンドルを表すメイン バンドルであるためnil、このパラメータの共通の値です)
たとえば、MyStory.storyboard自分の名前のストーリーボードがある場合は、次のように記述します。
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MyStory" bundle:nil];
実際、これはすべてApple のドキュメントでこのメソッドについて説明されています。
storyboardWithName:バンドル:
指定されたストーリーボード リソース ファイルのストーリーボード オブジェクトを作成して返します。
+ (UIStoryboard *)storyboardWithName:(NSString *)name bundle:(NSBundle *)storyboardBundleOrNilパラメーター
name:ファイル拡張子を除いたストーリーボード リソース ファイルの名前。このパラメーターが nil の場合、このメソッドは例外を発生させます。storyboardBundleOrNil: ストーリーボード ファイルとその関連リソースを含むバンドル。nil を指定すると、このメソッドは現在のアプリケーションのメイン バンドルを検索します。
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil];