NSViewControllerでnibをロードした後…ペン先のNSButtonにアクセスするにはどうすればよいですか?

StackOverflow https://stackoverflow.com/questions/1809656

質問

セカンダリペン先のNSButtonにフックされたIBOutletsでNSViewControllerをサブクラス化しました。

NS

NSViewControllerにはIBOutletsがあるため、コントローラーを介してこれを行うと想定しました。

//this part works great
NSViewController *viewController = [[toDoViewController alloc] initWithNibName:@"toDoView" bundle:nil];
NSView *newView = [viewController view];
newMenuItem.view = newView;

//this part not so much
[viewController [toDoButton setTitle:someStringHere]];

ここからどこへ行くかについてのポインタはありますか?

追加して編集:toDoViewControllerクラス-

@interface toDoViewController : NSViewController {
    IBOutlet NSButton *checkBoxButton;
    IBOutlet NSButton *toDoButton;
}

@end
役に立ちましたか?

解決

[viewController [toDoButton setTitle:someStringHere]];

インタラクティブフィクションインタープリターが言うように、“それは動詞が欠落しているようです。”

レシーバー( viewController )、完全なメッセージ式( [toDoButton setTitle:…] )、および括弧がありますが、欠落していますセレクター。そのため、これは有効なメッセージ式ではありません。

次の2つの可能性があります。

  1. View Controllerにメッセージを送信し、 setTitle:の結果を引数として渡して、セレクタを忘れた場合。 NSButtonの setTitle:は何も返さないので、これはありそうにないと思います。
  2. View Controllerからボタンを取得し、ボタンに setTitle:メッセージを送信します。このView Controllerが、 toDoButton プロパティを追加したNSViewControllerのサブクラスのインスタンスであると仮定すると、 [[viewController toDoButton] setTitle:someStringHere] または< code> [viewController.toDoButton setTitle:someStringHere] 。
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top