我需要做的就是在窗口的 NSView 中加载和交换一些 nib。我知道如何使用 NSViewController 做到这一点,并让它与 10.5-10.6 完美配合,但我不知道如何为 10.4 做些什么。
教程链接非常受欢迎,我很难找到遗留的东西。
(是的,我确实需要支持 10.4。)
我需要做的就是在窗口的 NSView 中加载和交换一些 nib。我知道如何使用 NSViewController 做到这一点,并让它与 10.5-10.6 完美配合,但我不知道如何为 10.4 做些什么。
教程链接非常受欢迎,我很难找到遗留的东西。
(是的,我确实需要支持 10.4。)
通过NSViewController
在 Leopard 中的使用,我可以告诉您它的功能非常基本,并且您应该能够以极少的努力复制它。
本质上,它有一个view
属性/出口和一个initWithNibName:bundle:
方法。除此之外,它并没有做任何特别花哨的事情。它有一些方便的东西,比如收养NSEditor
和representedObject
属性。您应该能够在一两个小时内完成同等课程。
现在,如果你这样做,你将放弃的是与更高版本的 Cocoa 的兼容性。最终,您可能会放弃 10.4 支持,而您将只剩下您的班级和真正的NSViewController
. 发生这种情况时,我建议将您的自定义视图控制器重新基于 Cocoa 的NSViewController
. 如果您使用与 相同的名称/数据类型命名属性,则NSViewController
只需删除您自己声明的属性和方法。
用于NSBundle
加载笔尖:
YourController *controller = [[YourController alloc] init];
BOOL success = [NSBundle loadNibNamed:@"YourNibName" owner:controller];
基本上,您编写自己的控制器类,它执行与 NSViewController 相同的操作。控制器类被添加到 AppKit 中,因为我们中的许多人一遍又一遍地编写基本相同的代码。