ある NSWindowController から別の NSWindowController にデータを渡そうとしています。既にインスタンス化された 2 つの NSWindowController があり、それぞれの NIB が画面に読み込まれています。実際、最初に firstWindowController を読み込み、ユーザーから入力を取得し、計算を行って、いくつかの変数と IBOutlets に保存します。firstWindowController でのユーザー アクション (NSButton) により、secondWindowController が 2 番目の Nib ウィンドウをロードします。言いましょう:
firstWindowController.h
@class secondWindowController;
@interface firstWindowController : NSWindowController
{
secondWindowController *_secondWindowController;
}
@property long double onedata;
@property (strong) IBOutlet NSTextField *rZab;
@property (strong) IBOutlet NSTextField *xZab;
@end
firstWindowController.m には、_secondWindowController をインスタンス化するコードがあり、すべての @property の変数とオブジェクトを合成し、関連付けられた nib スクリーンをロードします。同様に、onedata 変数と両方の IBOulet にいくつかの値が割り当てられます。簡単にするために省略します。
secondWindowController.h
@interface secondeWindowController: NSWindowController
long double newdata;
-(void)getDataFromFirstWC;
@end
secondWindowController.m
#import "firstWindowController.h"
#import "secondWindowController.h"
#import "myAppDelegate.h"
@implementation secondWindowController
-(void)getDataFromFirstWC
{
newdata = 0.0;
newdata = (_firstWindowController.onedata);
// Compilation fails here...
}
@end
これはコンパイルされません。_firstWindowController のインスタンスが認識されません??。宣言されていない識別子 '_firstWindowController' の使用
_firstWindowController のインスタンスはアプリケーション デリゲートで既に作成されており、最初のウィンドウ nib をロードする責任があります。
これを行うための助けはありますか?類似性の高い質問や類似性の低い質問に対する他の回答は役に立ちませんでした。