インスタンス変数int adventures
を含むAppControllerオブジェクトがあります。 これは、Interface Builderを介してラベルにバインドされています。あるオブジェクトのインスタンス変数を別のオブジェクトからどのように設定しますか?
また、PopUpWindowというNSWindowControllerのサブクラスもあります。 Enterボタンをクリックすると、ポップアップウィンドウのテキストフィールドの値は、AppControllerオブジェクトの変数adventures
を変更する必要があります。
@public
と@package
をadventures
に使用しても、変更されません。私も使用しようとしています。PopUpWindowクラスからの使用を試みています。
[self willChangeValueForKey:@"adventures"];
それはクラス間でうまくいくのだろうか?これどうやってするの?
実際には、それは逆です。アプリケーションがウィンドウパネルを読み込むと、値を求めるテキストフィールドとボタンがポップアップします。この値はAppControllerの変数の冒険を設定するはずです。私はどのようにNSNotificationsを使用するかはわかりませんが、参考にして参考にしています。私はまた、PopUpWindowで変数numOfAdventuresを作成してラベルにバインドしようとしました。なぜなら、IBでオブジェクトを作成してPopUpWindow.numOfAdventuresにラベルをバインドしたときになぜ機能しなかったのですか? – sud0
私は実際にウィンドウコントローラにAppControllerを割り当てて、 '[controller willChangeValueForKey:@" adventures "]; ' が自己ではありません。 – sud0
NSWindowControllerのサブクラスを取り除き、 'IBOutlet NSWindow * popUpWindow;'を使って起動時に可視にし、Enterボタンをクリックすると閉じるようにして問題を解決しました。私がまだやり方を知らない唯一のことは、あなたがそれを必要とするときにそれを再び開くことです。私はNSWindowControllerの 'showWindow'メソッドに慣れています。 NSWindowで初めての作業です。 – sud0