回顾源码
空的应用程序模板自带的几个现有的源代码文件设置应用程序环境。大部分的工作是由UIApplicationMain函数做的,该函数会自动被调用在项目的main.m源文件来完成。在UIApplicationMain函数创建设置了基础设施为您的应用程序与iOS系统工作的应用程序对象。这包括创建一个运行循环,提供输入事件到您的应用程序。
你不应该处理直接main.m源文件,但它很容易让你了解它怎样工作。
下面就看一下main.m的源码:
1.确保项目导航栏打开。
项目浏览器会显示在你的项目中的所有文件。如果导航栏有打开,请单击导航栏中选择最左边的按钮。
项目浏览器会显示在你的项目中的所有文件。如果导航栏有打开,请单击导航栏中选择最左边的按钮。
2.通过点击它旁边的三角形在项目导航中打开支持文件夹中。
3.选择main.m.
Xcode中打开源文件中的主编辑器区域的窗口,它看起来像这样:
如果您双击该文件,你会发现它在一个单独的窗口中打开。您可以选择通过单击一次,有一个文件在主项目窗口打开,或者您可以在单独的窗口中双击打开它。
在main.m主函数调用内的一个自动释放池的UIApplicationMain函数。
@autoreleasepool { return UIApplicationMain(argc, argv, nil, NSStringFromClass([HelloWorldAppDelegate class])); }
在@ autoreleasepool语句是有支持的内存管理您的应用程序。自动引用计数(ARC)使得内存管理简单的通过让编译器做跟踪谁拥有对象的工作;@ autoreleasepool是内存管理基础设施的一部分。
到UIApplicationMain的调用创建你的应用程序的两个重要初始组分:
1.UIApplication类的一个实例,调用应用程序对象。
该应用程序对象管理应用程序的事件循环,并协调其他高级应用程序的行为。这个类,在UIKit框架定义,不需要你写任何额外的代码来让它做它的工作。
2.该XYZAppDelegate类的实例,称为应用程序委托。
Xcode中创建了这个类,你作为设立空应用程序模板的一部分。应用程序委托创建在您的应用程序的内容被绘制的窗口,提供了一个场所内的应用程序响应状态转换。该窗口可让你写你的自定义应用程序级的代码。像所有的类,XYZAppDelegate类是在你的应用程序两个源代码文件中定义:头文件,XYZAppDelegate.h;实现文件,XYZAppDelegate.m。
该应用程序对象管理应用程序的事件循环,并协调其他高级应用程序的行为。这个类,在UIKit框架定义,不需要你写任何额外的代码来让它做它的工作。
2.该XYZAppDelegate类的实例,称为应用程序委托。
Xcode中创建了这个类,你作为设立空应用程序模板的一部分。应用程序委托创建在您的应用程序的内容被绘制的窗口,提供了一个场所内的应用程序响应状态转换。该窗口可让你写你的自定义应用程序级的代码。像所有的类,XYZAppDelegate类是在你的应用程序两个源代码文件中定义:头文件,XYZAppDelegate.h;实现文件,XYZAppDelegate.m。
下面是如何应用对象和应用程序委托进行交互。当你的应用程序启动时,应用程序对象调用定义在应用程序委托的方法,让您的自定义代码有机会做自己的工作,这其中执行一个应用程序的有趣的行为的。了解应用程序委托的更深入的角色,查看您的应用程序委托的源文件,首先是接口文件。要查看应用程序委托接口文件,在项目导航器中选择XYZAppDelegate.h。应用程序委托接口包含一个属性:窗口。与此属性的应用程序委托跟踪中,所有的应用程序的内容被绘制的窗口。
接下来,查看应用程序代理实现文件。要做到这一点,在项目导航器中选择XYZAppDelegate.m 。应用程序委托实现包含重要的方法“骨架” 。这些预定义的方法让交谈的应用程序委托的应用程序对象。在一个显著的运行时事件,例如,应用程序启动,低内存警告,终止应用程序,该应用程序对象调用相应的方法在应用程序委托,给它一个机会,作出适当的反应。你不需要做什么特别,以确保这些方法被调用,在正确的时间,应用程序对象处理,对你的工作的一部分。
所有这些自动执行的方法有一个默认的行为。如果你离开框架实现空或从您的XYZAppDelegate.m文件中删除它,你得到的默认行为时该方法被调用。使用这些骨架把你想要当方法被调用来执行额外的自定义代码。例如,在XYZAppDelegate.m文件中的第一种方法中包含一些代码行是设置应用程序窗口的,当你运行你的应用程序在第一次的白色背景色。在本教程中,您将不使用任何自定义应用程序委托的代码,所以继续前进,删除设置窗口有一个纯白色背景的代码。
配置应用程序委托执行文件
1.找到应用程序:didFinishLaunchingWithOptions在XYZAppDelegate.m。
它是该文件中的第一方法。
2.删除该方法的前三行的代码,以便它看起来就像这样:
它是该文件中的第一方法。
2.删除该方法的前三行的代码,以便它看起来就像这样:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { return YES; }
Xcode中自动保存的更改。 Xcode的连续跟踪并保存您的所有工作。(你能后退到之前 通过选择Edit > Undo Typing.)
新建一个Storyboard
在这一点上,你就可以创建一个脚本为您的应用程序。故事板是应用程序的用户界面的可视化表示,显示出它们之间的内容和转换画面。您可以使用故事板奠定了流或故事驱动你的应用程序。
怎么看一个故事板安装到一个应用程序,在这个教程中,您手动创建一个,并把它添加到你的应用程序。不像你开始与空应用程序模板,其他的Xcode模板包括预先配置的情节串连图板提供意见,视图控制器和相关的源代码文件设置基本架构该类型的应用程序。当你手动配置一个脚本,你会看到部分如何结合在一起的。然后你就可以开始用自带的预配置脚本,它会为你节省一些开销项目模板。
怎样新建一个Storyboard
1.选择File > New > File(或按Command-N)。
出现一个对话框,提示您选择新文件的模板。
2.在左侧,选择iOS的用户界面下。
3.单击故事板,然后单击下一步。
4.对于Devices选项,选择iPhone。
5.单击下一步。
出现一个对话框,提示您选择一个位置和名称为您的新脚本。
6.在另存新领域,将文件命名为主营。
7.请确保该文件保存在同一目录中的项目。
出现一个对话框,提示您选择新文件的模板。
2.在左侧,选择iOS的用户界面下。
3.单击故事板,然后单击下一步。
4.对于Devices选项,选择iPhone。
5.单击下一步。
出现一个对话框,提示您选择一个位置和名称为您的新脚本。
6.在另存新领域,将文件命名为主营。
7.请确保该文件保存在同一目录中的项目。
1.本组选项,选择ToDoList的。
2.对于目标,选择旁边ToDoList的复选框。
这个选项告诉Xcode中包括新的脚本时,它建立你的应用程序。
3.单击创建。
2.对于目标,选择旁边ToDoList的复选框。
这个选项告诉Xcode中包括新的脚本时,它建立你的应用程序。
3.单击创建。
一种新的脚本文件被创建并添加到项目中。你会工作在这个文件奠定了您的应用程序的内容。
现在你需要告诉Xcode中要使用这个脚本的界面给你的应用程序。当它启动时,应用程序对象会检查应用程序是否配置了主界面。如果是这样,应用程序对象加载定义的脚本时,应用程序启动。
设置脚本作为应用程序的主界面
1.在项目导航器中,选择您的项目。
在工作区窗口的编辑区,显示的Xcode项目编辑器,它允许您查看和编辑有关如何你的应用程序是内置的细节。
2.根据目标,选择todolist的。
在工作区窗口的编辑区,显示的Xcode项目编辑器,它允许您查看和编辑有关如何你的应用程序是内置的细节。
2.根据目标,选择todolist的。
如果项目和目标列表不显示在项目编辑器,单击编辑器窗格中显示的列表的左上角的三角形。
3.选择常规选项卡。
4.在部署信息,找到主界面选项。
5选择您的Storyboard,Main.storyboard。
4.在部署信息,找到主界面选项。
5选择您的Storyboard,Main.storyboard。
基础教程3——Start Developing iOS Apps Today——从今天开始开发IOS(IOS7版)系列源文档翻译(四)