CS193P:使用Swift讲座1注释开发iOS 10应用

  • 这些基本上是我本次iOS课程的笔记。 从许多方面来说,笔记都是教授所说的逐字记录。 讲义幻灯片也是iTunes U上该课程的资料部分中提供的那些幻灯片。这些注释确实对我有用,但对其他参加该课程并且希望有一种方法来刷新自己对本教程中发生的事情的人可能有用。讲课而不必重新观看讲课,或作为对讲课的补充。 我将在各个领域添加自己的意见,并提供示例或其他见解,以进一步理解课堂上讲授的概念。 我希望这些说明不仅对我有帮助,对其他有志成为优秀iOS开发人员的人也有帮助!
  • 该课程确实有一些前提条件,可以满足这些前提条件。 主要的是在面向对象编程 (OOP)方面的经验。 满足要求的相关斯坦福课程为CS106A&BCS107CS108CS110 。这是斯坦福大学的高级CS课程。 我本人并不满足所有先决条件,但不会因此而阻止我追求目标。

可以将它们视为四层,其中最底层靠近硬件,而最顶层靠近用户。

核心操作系统在硬件附近,而可可触摸在用户附近。

  • iPhone正在运行UNIX ,因此它具有完整的多任务处理和文件系统。 构建应用程序时,您可以使用所有这些功能。 特定于移动设备的是Power ManagementKeychain Access之类的东西(以确保人们不会访问他们不应该访问的东西。)这些API几乎都是用C编写的,我们将不在这一层做任何工作。
  • UNIX上的面向对象层是 核心服务层,因此我们可以使用NetworkingMultithreadingPreferencesSQL数据库。
  • 此层中没有用户界面 (UI)。 该层称为基础。
  • 具有讽刺意味的是,这个(多媒体)层非常重要,我们不会花太多时间。
  • 该层包括视频,各种不同的音频框架,静态图片(如JPEG),用于2D绘图的Quartz API,用于3D绘图的OpenGL等。
  • 在顶层,我们将花费大部分时间在此处,这是Cocoa Touch
  • 它是用于构建用户界面的面向对象的API。
  • 这些用户界面不仅限于屏幕上的按钮和滑块。 例如,它们包括摇动手机时的操作以及使用手机的方向作为输入。 它还包括动画。
  • 我们没有时间来遍历该层中的所有对象,但是我们的想法是,我们了解的一些对象将具有使用它们的范例,这些范例可以应用于我们不熟悉的对象。
  • 我们所做的一切都将在Xcode 8(或更高版本)中进行,我们将使用相对较新的编程语言Swift来完成所有工作。
  • 与框架同样重要的是一种称为Model-View-Controller(MVC)的设计策略或方法。
  • Model-View-Controller是一种将面向对象应用程序中的所有类划分为三个不同组的方法。 Model组是我们程序执行的,独立于UI。 对于计算器,这将是所有的计算。 如何添加,划分,平方根等。 视图是用户与之交互的用户界面。 它通常由通用用户界面元素(如按钮和滑块)制成。 对于计算器,这将是按钮和显示。 控制器模型视图之间的粘合剂 。 它是侦听UI中发生的事情,做出决策,更新模型或由于模型中的某些更改而更新UI的事物。

我们将建立一个计算器!

我们的计算器在基本功能和用户界面上将类似于此macOS计算器。

  • 在Xcode中设置好项目后,便可以在这个main.storyboard文件中设计API。 请注意,此文件中没有代码。 我们只是要将对象从“对象库”拖到此画布上,并设计我们的应用程序,就好像我们是使用对象调色板的画家一样。
  • 目前,我们将画布设置为“查看方式:iPhone 7”。 通常,我们可以选择Apple生产的任何iPhone来为其设计应用程序,但实际上,我们要做的是设计一个可以在所有各种设备上运行的应用程序,而与屏幕大小无关。 这个用于设计应用程序的系统称为Interface Builder ,它具有所有必要的工具和技术,可让我们构建该通用应用程序。 该技术称为自动布局

好吧,让我们继续构建计算器。 我们肯定会需要按钮和显示。 我们在哪里找到这些? 让我们看一下Xcode中的Utility部分,然后滚动浏览对象库。 它具有诸如按钮,滑块,地图,图像视图,文本框之类的东西,以及我们可以用来构建应用程序的所有工具。

  • 在这里,我们已将一个按钮对象拖到我们的空画布上。
  • 双击该按钮并输入7,然后使用鼠标将按钮的大小设置为64 X 64。
  • 文本仍然太小,因此仍然在实用程序检查器中将字体大小更改为30,然后向下滚动到实用程序检查器的视图部分,并将背景颜色更改为所需的任何颜色。
  • 让我们运行该应用程序! 当我们这样做时,然后按下我们的按钮,当然没有任何反应。 那是因为我们还没有为按钮编写任何方法或动作。 我们需要一种方法来将此按钮连接到将要编写的代码。
  • UI的行为是用代码编写的。 当前,我们将在类ViewController中编写它。 这是一个相当通用的名称,一个更好的选择可能是CalculatorViewController,但现在让我们继续。
  • 要将UI连接到代码,我们需要同时在屏幕上显示两个文件。 我们可以使用辅助编辑器执行此操作。