1

我需要做的就是在窗口的 NSView 中加载和交换一些 nib。我知道如何使用 NSViewController 做到这一点,并让它与 10.5-10.6 完美配合,但我不知道如何为 10.4 做些什么。

教程链接非常受欢迎,我很难找到遗留的东西。

(是的,我确实需要支持 10.4。)

4

3 回答 3

3

通过NSViewController在 Leopard 中的使用,我可以告诉您它的功能非常基本,并且您应该能够以极少的努力复制它。

本质上,它有一个view属性/出口和一个initWithNibName:bundle:方法。除此之外,它并没有做任何特别花哨的事情。它有一些方便的东西,比如收养NSEditorrepresentedObject属性。您应该能够在一两个小时内完成同等课程。

现在,如果你这样做,你将放弃的是与更高版本的 Cocoa 的兼容性。最终,您可能会放弃 10.4 支持,而您将只剩下您的班级和真正的NSViewController. 发生这种情况时,我建议将您的自定义视图控制器重新基于 Cocoa 的NSViewController. 如果您使用与 相同的名称/数据类型命名属性,则NSViewController只需删除您自己声明的属性和方法。

于 2009-10-22T15:05:43.193 回答
2

用于NSBundle加载笔尖:

YourController *controller = [[YourController alloc] init];
BOOL success = [NSBundle loadNibNamed:@"YourNibName" owner:controller];
于 2009-10-22T05:18:25.247 回答
1

基本上,您编写自己的控制器类,它执行与 NSViewController 相同的操作。控制器类被添加到 AppKit 中,因为我们中的许多人一遍又一遍地编写基本相同的代码。

于 2009-10-21T21:51:00.973 回答