2011-12-09 3 views
0

私はすぐに怒ってしまうかもしれません。iOSストーリーボードはviewControllerとIBActionをインスタンス化します

これは理由です: - 私はストーリーボード付きのシングルビューアプリケーションプロジェクトを開始しました。次に、私はviewControllerのために、ストーリーボードにView Controllerクラス名を設定します。 - 次の手順AppDelegateメソッド... didFinishLaunchingWithOpt ...でこのviewControllerのポインタを1つ作成し、[myStoryboards instantiate ...]を呼び出して埋めました。 self.myName = @ "" Johnny "のようにsmthngする[vc1 setMyName]のようなメソッドを呼び出すことができるので、かなりうまくいく。 - しかし、ここにそれが来る。私がボタンで結合したIBActionメソッドを作成すると、このメソッドは "Johhny"について何も知らない。そして、私は別の事実にあるからです。私が "自己"のアドレスをチェックすると、それは別のものです...

どうして?どうすれば私はまだ同じオブジェクトを使用することができますか - ストーリーボードでAppDelegateでインスタンス化されたものと "インターフェースビルダー"でストーリーボードからインスタンス化されたもの。

ありがとうございます。


Oh my。私は実際にそれをunderestamatedだと思う... 私たちはストーリーボードから他のviewControllersのポインタを取得する方法について話していた...

私は... initialViewControllerはrootViewContrを呼び出すことによって持っているとセグエ(モーダル)に接続された別の一つはどこですUITableView。 rootViewControllerのデータを取得し、リストの他のもの(UITableView)にそれらを表示したい。だからsegue(performSegueWithIdentifier)と呼びますが、他のコントローラは表示されていますがリストはクリアです。私が呼び出すメソッドは、nullのtableView変数で動作しているためです:/もう一度、私は別のオブジェクトにあります。それは私がストーリーボードのインスタンシエーションを呼び出すためです...私はストーリーボードで働いているのと同じviewControllerをどうやって得ることができますか?私にとってはかなり混乱しています:/

私はprepareForSegueについて何かを読んで、destinationViewControllerでポインタを取得しましたが、それは私が欲しいものではありません。私はsegueメソッドを呼び出す前にポインタが必要です。そして、viewControllerが表示されます...

ありがとう。

答えて

4

ストーリーボードで初期ビューコントローラーを正しく設定した場合、のプロパティーをrootViewControllerプロパティに割り当てる必要はありません。これは自動的に行われます。あなたが2番目のインスタンスを作成しているように聞こえます。ストーリーボードによる元のインスタンス設定にアクセスするには、次の手順を実行します。-applicationDidFinishLaunchingWithOptions:

InitialViewController *viewController = (InitialViewController *)self.window.rootViewController; 
viewController.myName = @"Johnny"; 
+0

GREAT!ありがとうございました。それでおしまい。私は第二のインスタンスで働いていることを知っていた。しかし、それを避ける方法を知らなかった。 OK。新しい事実を使用して同様の質問。私は2つのviewControllerを持っている状況はどうですか?説明した方法でポインタを得る機会はありますか? – D33

+0

'-applicationDidFinishLaunchingWithOptions:'が送信されるまでに、ストーリーボードの '初期表示コントローラ'としてマークされたビューコントローラのみがインスタンス化されます。他のView Controllerへの参照が必要な場合は、 'UIStoryboard'のメソッドでインスタンス化する必要があります。 –

+0

はい。わかった。そしてそれは動作します!だから本当に大きな "ありがとう" – D33

関連する問題