[英]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.