有人可以给我一个快速的,一对一段的iPhone应用程序结构概述。我正在通过一本书,但我无法真正理解App Delegates,MainWindow.xib与个人观点的nib文件,行动与出口等的目的。
我正在寻找一个高级别的描述,因为我能找到的所有内容都非常详细。
答案 0 :(得分:1)
您可以在Apple的文档中找到有关Objective-C设计模式的更多信息,例如委托。以下是您提到的事项的快速概述:
对象以各种方式与其他选项通信,其中之一是委托。应用程序委托是从应用程序接收某些消息的对象。
XIB文件包含用户界面和连接的说明。 MainWindow.xib包含主窗口的UI信息,但为了提高效率,您应该为其他视图控制器提供单独的XIB文件(当用户尝试实例化某种视图控制器时,应该懒得加载XIB,并缓存XIB以防止重新加载;有关详细信息,请参阅UINib
。
操作和出口是将代码连接到XIB中的UI元素的方法。动作是UI元素发送给对象的消息。例如,按下按钮可以向视图控制器发送操作。插座将是该按钮的参考。
有关iOS开发环境中Objective-C的更多信息,请参阅文档:
答案 1 :(得分:1)
iPhone应用程序的物理结构包含一个目录,该目录充当主可执行文件的包和所有使用的资源(图像,属性列表,接口文件等)。
运行时,可执行文件首先执行main()
功能。该函数以编程方式实例化应用程序委托或加载主接口文件(指定应用程序委托)。应用程序委托响应应用程序级事件,例如终止或进入和退出后台。
您可以通过编程方式或通过使用Interface Builder .xib文件来构建界面。如果以编程方式,您的应用程序委托将构建初始整体接口,然后将其移交给各个视图控制器以管理特定视图的显示。如果通过Interface Builder完成,您将定义编译为冻结对象的接口文件,这些对象在运行时被反序列化到您的接口中。
总体而言,Cocoa应用程序倾向于遵循模型 - 视图 - 控制器设计模式,其中应用程序的这三个区域在代码中分开。视图是通用的可重用显示元素,您的模型包含应用程序数据(通常使用Core Data或SQLite持久化),您的控制器提供特定于应用程序的逻辑,将所有内容粘合在一起。