我正在使用Xcode 4为OSX(Lion)编写应用程序。
用这一块打了一堵墙,互联网迄今为止证明并不是特别有用。
我定义了一个文档,以及MainMenu.xib和一个文档窗口;文档窗口当然是在加载/创建文档时创建的内容,因此可以访问相关数据。
我想在这个项目中尽可能多地利用Cocoa Bindings,所以我的问题是:
如果我创建另一个View(让我们说一个带有链接Nib的NSViewController);如何允许它访问文档的数据?
我尝试为文档类添加#import,但是当我将文档类的#import添加到视图控制器(创建它)时会出现问题 - 我收到未知类型的编译错误。
我也走了传递临时对象的路线(甚至在创建视图控制器后访问getter / setter);肯定有一个更好,更清洁的方式吗?
应用程序只有一个NSWindowController(默认),就是它,它来自基于XCode非核心数据文档的应用程序模板。
感谢您的帮助, 奇
答案 0 :(得分:1)
如果要绑定到其他类,则需要引用某种类型的文档。由于您已使用NSViewController
,因此可以将representedObject
的{{1}}设置为您的文档。或者,您可以继承NSViewController
并创建自定义属性以引用该文档。
NSViewController
在Interface Builder中,您可以使用YourViewController* controller = [[YourViewController alloc] initWithNibName:@"YourNib" bundle:nil];
[controller setRepresentedObject:yourDocument];
的关键路径将视图控制器笔尖中的对象绑定到文件的所有者。