Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/23.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 应用程序委托用法_Objective C_Cocoa_Delegates - Fatal编程技术网

Objective c 应用程序委托用法

Objective c 应用程序委托用法,objective-c,cocoa,delegates,Objective C,Cocoa,Delegates,我对Objective-C和cocoa编程相当陌生,所以我并不真正理解应用程序委托的概念 当我们创建cocoa应用程序时,我们是将代码(方法、操作、出口)存储在应用程序代理文件中,还是创建一个新的文件作为控制器并从中编码。现在,我把我所有的代码都放在这两个文件中,但从我读到的内容来看,你的目标是让你的应用程序代理文件尽可能薄 我的问题是:应用程序代理文件的用途是什么?谈论applicationdFinishLaunching:: 这只是您的应用程序入口点。通常,您只在此处创建窗口和第一个View

我对Objective-C和cocoa编程相当陌生,所以我并不真正理解应用程序委托的概念

当我们创建cocoa应用程序时,我们是将代码(方法、操作、出口)存储在应用程序代理文件中,还是创建一个新的文件作为控制器并从中编码。现在,我把我所有的代码都放在这两个文件中,但从我读到的内容来看,你的目标是让你的应用程序代理文件尽可能薄


我的问题是:应用程序代理文件的用途是什么?

谈论
applicationdFinishLaunching:
: 这只是您的应用程序入口点。通常,您只在此处创建窗口和第一个ViewController,或者您的Tabbar(主起始接口类)

nsapplicationelegate
的所有其他委托方法当然还有其他功能。其中大多数都是你对应用程序状态做出反应的关键点。打开/关闭/背景/重新打开等

但您可能应该看看iPhone文档中的编程教程。关于如何组织objc项目,有很多信息。例如,看这里:

或者,如果您正在查找OSX应用程序,请查看此处:

1)
(二)


还有许多。

在谈论
applicationdFinishLaunching:
: 这只是您的应用程序入口点。通常,您只在此处创建窗口和第一个ViewController,或者您的Tabbar(主起始接口类)

nsapplicationelegate
的所有其他委托方法当然还有其他功能。其中大多数都是你对应用程序状态做出反应的关键点。打开/关闭/背景/重新打开等

但您可能应该看看iPhone文档中的编程教程。关于如何组织objc项目,有很多信息。例如,看这里:

或者,如果您正在查找OSX应用程序,请查看此处:

1)
(二)


还有一组。

应用程序委托是一个处理程序位置,用于处理应用程序上发生的事件。比如开和关。它也会在应用程序执行的整个过程中挂起,您可以通过执行
[[NSApplication sharedApplication]delegate]
在任何时候获取singleton实例

这对于在控制器之间处理对象和充当事件路由器非常方便。如果需要在代码的不同部分修改/访问委托,还可以在委托上存储一些数据


这一切都适用于简单的应用程序,但随着事情变得越来越复杂,您需要进行一些职责划分。AppDelegate实际上应该只负责在应用程序本身上发生的操作,而不是在另一个视图或控制器上。将所有/大部分代码放在AppDeligate中肯定是一种不好的做法,当事情变得更加复杂并需要维护时,会导致可怕的代码。

应用程序委托是处理应用程序上发生事件的处理程序位置。比如开和关。它也会在应用程序执行的整个过程中挂起,您可以通过执行
[[NSApplication sharedApplication]delegate]
在任何时候获取singleton实例

这对于在控制器之间处理对象和充当事件路由器非常方便。如果需要在代码的不同部分修改/访问委托,还可以在委托上存储一些数据


这一切都适用于简单的应用程序,但随着事情变得越来越复杂,您需要进行一些职责划分。AppDelegate实际上应该只负责在应用程序本身上发生的操作,而不是在另一个视图或控制器上。将所有/大部分代码放在AppDeligate中肯定是一种不好的做法,并且会导致可怕的代码,因为事情变得越来越复杂,需要维护。

您有任何桌面应用程序(不是iphone)的文档吗?非常感谢。非常感谢!你有桌面应用程序(不是iphone)的文档吗?非常感谢。非常感谢!