繁体   English   中英

如何将属性绑定到外部控制器?

[英]How to bind a property to an external controller?

我使用带有Xcode 4.2的SDK 10.6。

我想将“属性”绑定到“超出笔尖”的控制器。 我该怎么办:

  • 与界面生成器?
  • 没有它 ?

更准确地说,我想将NSButtonenabled属性绑定到“不在笔尖之内”存在的arrayController。 在界面构建器中,我可以绑定属性的唯一对象是占位符或对象。 但是:

  • 我不能更改占位符。
  • 如果我的NIB上有一个arrayController,它将在加载我的NIB时创建。

为什么我会遇到这种情况? 因为:arrayController在我的NIB中; 但该按钮位于另一个NIB中。 第二个NIB是我的主视图的子视图。

感谢帮助 :)

我想我找到了答案。

一些符号:

  • MySubiewControllerMySubiewController.xib是我要执行一些绑定的MySubiewController.xib对。 必须将它们视为子视图。
  • 在程序的其他位置“上方”,我已经有一个myMainArrayController 它是一个ArrayController ,与我的数据链接,并“在我的主视图中创建”。

现在:答案。

  • 首先,通过实例init的方法MySubiewController ,存储您myMainArrayController (你必须在揭露这个变量某些变量.h ,为@property在你的程序中使用它之前(这是更好))。 让我们给这个变量起相同的名字(你可以给任何名字)。 例如 :

      - (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil withArrayController:(NSArrayController *)anArrayController { NSLog(@"Creation of an instance of MySubiewController"); self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; if (self) { myMainArrayController = anArrayController ; } return self; } 

    在这里,您将告诉“子视图”谁是已经存在的arrayController

  • File's Owner绑定,然后与self.myMainArrayController绑定。

  • 而已!!! 它应该工作!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM