![](/img/trans.png)
[英]How to bind value to property of NSWindow in Interface Builder?
[英]How to bind a property to an external controller?
我使用带有Xcode 4.2的SDK 10.6。
我想将“属性”绑定到“超出笔尖”的控制器。 我该怎么办:
更准确地说,我想将NSButton
的enabled
属性绑定到“不在笔尖之内”存在的arrayController。 在界面构建器中,我可以绑定属性的唯一对象是占位符或对象。 但是:
为什么我会遇到这种情况? 因为:arrayController在我的NIB中; 但该按钮位于另一个NIB中。 第二个NIB是我的主视图的子视图。
感谢帮助 :)
我想我找到了答案。
一些符号:
MySubiewController
和MySubiewController.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.