objective-c – AppDelegate和main.m之间的关系

前端之家收集整理的这篇文章主要介绍了objective-c – AppDelegate和main.m之间的关系前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
好吧,我对obj-c可可全新,所以这可能是显而易见的,但这里有:

我一直在从命令行应用程序转向可可应用程序,学习如何在Xcode中使用objective-c.我不太了解的一件事是AppDelegate的作用以及它如何连接到main.m

看起来你可以将你的整个程序放在appdelegate中它运行正常,你甚至不需要main.m,但不是相反,如果你正在制作一个可可应用程序你必须至少有appdelegate.

我已经做了很多PHP web开发和命令行工具,所以我想我正在寻找的是程序首先执行的文件,旨在“控制”其余部分.

任何人都可以帮助我理解Cocoa程序中发生了什么,AppDelegate和main.m是如何相关的,以及程序的流程应该是什么?

解决方法

许多面向对象系统(如Cocoa)的一个关键特性是 “inversion of control”,这基本上意味着框架正在运行所有内容,并且您编写的任何代码都在其控制之下.

因此,与PHP不同,您不会编写在启动时执行的代码.您要做的是为应用程序委托,控制器,视图和其他对象定义方法,并让框架在需要时调用这些方法.在整个计划中,你永远不会看到整体的“控制流”;你只会看到它作为控制流入你的程序部分.

这可能会让人感到困惑,因为你试图弄清楚如何欺骗框架按照你期望的顺序调用你的代码,但从长远来看它实际上会让事情变得更容易,因为你可以信任框架到为你照顾好很多东西.

在Cocoa应用程序中,应用程序的许多逻辑实际上都在视图控制器中,而不是在应用程序委托中.应用程序委托通常处理启动和关闭职责,但其他对象在启动和关闭之间完成大部分工作.所以不要试图将所有东西都挤进app委托.

原文链接:https://www.f2er.com/c/120051.html

猜你在找的C&C++相关文章