Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 如果不使用NSViewController与10.4兼容,您会怎么做?_Objective C_Cocoa_Macos_Nsviewcontroller - Fatal编程技术网

Objective c 如果不使用NSViewController与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相同的任

我所需要做的就是在窗口的NSView中加载和交换一些NIB。我知道如何使用NSViewController并使其在10.5-10.6中完美工作,但我不知道如何使用10.4

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


(是的,我确实需要支持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。(我的应用程序是主应用程序的补充。)主应用程序必须每四个月更新一次,否则将停止工作。(你每年订阅一次。)