件名が具体的でなくて申し訳ありませんが、質問の分類方法がよくわかりません。レベルの高い質問ですが、常に遭遇しなければならないと感じているので、どのように対処しているのか知りたいです。私はオブジェクティブ C とオブジェクト指向プログラミングに比較的慣れていないので、これが多くの人にとって完全に明らかである場合はご容赦ください。
ここに行きます。mainMenu.xib にメイン ウィンドウとメイン アプリ コントローラーの両方を作成するココア アプリケーションがあります。私の myMainAppController オブジェクトには別の windowController が含まれています。たとえば、mySubWindowController は、以下のように独自の別の nib ファイルから開始されます。サブウィンドウに NSTextfield と NSButton の 2 つの要素があるとします。そう...
myMainAppController.h
@interface
@property (strong) MySubWindowContorller *mySubWindowController;
........ so forth
MyMainAppController.m
@implementation
......
self.mySubWindowController = [MySubWindowController alloc] initWithWindowNibName:
@"mySubWindow"];
etc...
MySubWindowController.h
@ interface
IBOutlet (weak) NSTextfield *myTextField;
IBOutlet (weak) NSButton *myButton;
....
これまでのところ、とても良いと思います。かなり標準的なものですよね?ここに私の質問の要点があります。このクラスの構造の下で、サブウィンドウで進行している情報やアクティビティを mainAppController に戻し、mainAppController からサブウィンドウにデータを戻すにはどうすればよいでしょうか? テキストフィールド/ボタンから IBOutlet または IBAction を myMainAppController.h に戻せないように見えるので、KVO を使用する以外に、myMainAppController は mySubWindowController からどのように情報を取得しますか? myMainWindowController の要素を必要とするサブウィンドウに実装されているアクションがある場合はどうなりますか? アクション メッセージを myMainAppController に送り返すことができず、mySubWindowController はそれを含むクラスの他の要素にアクセスできません。
メインウィンドウとサブウィンドウがデータとロジックを調整する必要がある場合、このような状況で何をしますか? 私の経験不足のために完全に明らかな何かを見逃しているのでしょうか、それともこれはかなり一般的に発生する状況ですか? 私が自分のアプリに取り組んでいる比較的短い時間で、私はすでにこれに数回遭遇しました。他の人がこれにどのように対処するかを感じようとしています..
ご意見をお寄せいただきありがとうございます。