بعد تحميل بنك الاستثمار القومي مع NSViewController.... كيف يمكنني الوصول إلى NSButton في بنك الاستثمار القومي?

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

سؤال

لقد ثم subclassed NSViewController مع IBOutlets مدمن مخدرات إلى NSButton في الثانوية بنك الاستثمار القومي.

لا يمكن إنشاء مثيل NSViewController وتطبيق رأي في NSMenu -- يعمل كبيرة -- ولكن كيف يمكنني الوصول إلى زر تغيير العنوان ؟

منذ 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:…]), و بين قوسين ، ولكن كنت في عداد المفقودين محدد.على هذا النحو, هذا ليس صحيحا الرسالة-التعبير.

هناك احتمالان:

  1. يعني لك أن ترسل رسالة إلى عرض وحدة تحكم ، ويمر نتيجة setTitle: كما حجتها و نسيت محدد.أجد أن هذا وارد ، لأن NSButton هو setTitle: لا يعود أي شيء.
  2. كنت أقصد أن تحصل زر من تحكم عرض ، ثم ترسل زر setTitle: رسالة.على افتراض أن هذا الرأي تحكم مثيل من فئة فرعية من NSViewController التي كنت قد أضفت toDoButton الملكية استخدم [[viewController toDoButton] setTitle:someStringHere] أو [viewController.toDoButton setTitle:someStringHere].
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top