Objective c 如果不使用NSViewController与10.4兼容,您会怎么做?
我所需要做的就是在窗口的NSView中加载和交换一些NIB。我知道如何使用NSViewController并使其在10.5-10.6中完美工作,但我不知道如何使用10.4 非常欢迎教程链接,我很难找到遗留的东西Objective c 如果不使用NSViewController与10.4兼容,您会怎么做?,objective-c,cocoa,macos,nsviewcontroller,Objective C,Cocoa,Macos,Nsviewcontroller,我所需要做的就是在窗口的NSView中加载和交换一些NIB。我知道如何使用NSViewController并使其在10.5-10.6中完美工作,但我不知道如何使用10.4 非常欢迎教程链接,我很难找到遗留的东西 (是的,我确实需要支持10.4。)基本上,您可以编写自己的控制器类,该类执行与NSViewController相同的操作。之所以将控制器类添加到AppKit中,是因为我们中的许多人都在反复编写基本相同的代码。基本上,您可以编写自己的控制器类来完成与NSViewController相同的任
(是的,我确实需要支持10.4。)基本上,您可以编写自己的控制器类,该类执行与NSViewController相同的操作。之所以将控制器类添加到AppKit中,是因为我们中的许多人都在反复编写基本相同的代码。基本上,您可以编写自己的控制器类来完成与NSViewController相同的任务。控制器类被添加到AppKit中,因为我们中的许多人都在反复编写基本相同的代码。用于加载nib:
YourController *controller = [[YourController alloc] init];
BOOL success = [NSBundle loadNibNamed:@"YourNibName" owner:controller];
用于加载笔尖:
YourController *controller = [[YourController alloc] init];
BOOL success = [NSBundle loadNibNamed:@"YourNibName" owner:controller];
通过在Leopard中使用
NSViewController
,我可以告诉您,它的功能非常基本,您应该能够以相当小的工作量复制它
本质上,它有一个视图
属性/出口和一个initWithNibName:bundle:
方法。除此之外,它没有做任何特别花哨的事情。它有一些方便的功能,比如采用NSEditor
,以及representedObject
属性。你应该能在一两个小时内完成同等的课程
现在,如果您这样做,您将放弃与Cocoa更高版本的兼容性。最终,您可能会放弃10.4支持,只剩下类和真正的
NSViewController
。如果出现这种情况,我建议您将自定义视图控制器重新基于Cocoa的NSViewController
。如果您使用与NSViewController
相同的名称/数据类型命名属性,则只需删除您自己声明的属性和方法。在Leopard中使用NSViewController
,我可以告诉您,它的功能非常基本,而且你应该能够用最少的努力来复制它
本质上,它有一个视图
属性/出口和一个initWithNibName:bundle:
方法。除此之外,它没有做任何特别花哨的事情。它有一些方便的功能,比如采用NSEditor
,以及representedObject
属性。你应该能在一两个小时内完成同等的课程
现在,如果您这样做,您将放弃与Cocoa更高版本的兼容性。最终,您可能会放弃10.4支持,只剩下类和真正的
NSViewController
。如果出现这种情况,我建议您将自定义视图控制器重新基于Cocoa的NSViewController
。如果您使用与NSViewController
相同的名称/数据类型命名属性,则只需删除您自己声明的属性和方法。我被告知其中一个Cocoa开发站点上有一个,但我找不到它……我被告知其中一个Cocoa开发站点上有一个,但我找不到它…看起来loadNibName:owner是类方法,而不是实例方法。看起来loadNibName:owner是类方法,而不是实例方法。(是的,我确实需要支持10.4。)…你确定吗?真正地统计数据一再证明,不更新操作系统的用户不会更新应用程序的以太。唯一值得注意的例外是K-12。我非常非常确定。这个版本我们终于放弃了10.3(!)。下一个版本我们将删除10.4。(我的应用程序是主应用程序的补充。)主应用程序必须每四个月更新一次,否则将停止工作。(你每年订阅。)(是的,我确实需要支持10.4。)…你确定吗?真正地统计数据一再证明,不更新操作系统的用户不会更新应用程序的以太。唯一值得注意的例外是K-12。我非常非常确定。这个版本我们终于放弃了10.3(!)。下一个版本我们将删除10.4。(我的应用程序是主应用程序的补充。)主应用程序必须每四个月更新一次,否则将停止工作。(你每年订阅一次。)