0

私はまだ Objective C と xCode にかなり慣れていないので、ご容赦ください。

ストーリーボードに2つのView Controllerをセットアップしており、次のコードを使用して別のコードに移動しています:

UIStoryboard * storyBoard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil];
UIViewController * viewController = [storyBoard instantiateViewControllerWithIdentifier:@"stageOne"];
[self presentViewController:viewController animated:YES completion:nil];

2番目のView Controllerを制御するクラスでは、データを送信しようとしているプロパティ設定がありますが、これはうまく機能します。私は次のことを試みていました:

UIStoryboard * storyBoard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil];
UIViewController * viewController = [storyBoard instantiateViewControllerWithIdentifier:@"stageOne"];
viewController.forename = @"Hello World";
[self presentViewController:viewController animated:YES completion:nil];

これは機能せず、「タイプ 'UIViewController' のオブジェクトにプロパティ 'forename' が見つかりません」というエラーだけが表示されます。

どんな助けでも大歓迎です。素晴らしいサンプルコードを私に残していただければ幸いです。

4

2 に答える 2

0

コードの問題は、メモリ内にまだ作成されていない uicontrols にアクセスすることです。このようにステートメントの実行順序を変更する必要があります...

UIStoryboard * storyBoard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil];
holidayQuestion * viewController = [storyBoard instantiateViewControllerWithIdentifier:@"stageOne"];

[self presentViewController:viewController animated:YES completion:nil];
viewController.forename = @"Hello World";
于 2013-02-21T11:09:13.910 に答える
0

基本的に、2 つのコントローラー間でデータを渡すには、 DelegationまたはObserverの 2 つの設計パターンを使用できます。

あなたの場合、デリゲートを使用します。forenameヘッダー ファイルに名前付きのパブリック プロパティがありますか?

于 2013-02-21T11:02:30.010 に答える