93
4
构建
OS X
记事本应用的
前期准备工作
第一部分介绍了
Apple
开发者计划,在
Apple
平台中做开发所需的工具,以及
Swift
言基础。现在,我们要开始构建真正的应用了!
从本章开始,我们将构建一个记事本应用,名为
Notes
。这
Mac
应用,用于编写笔记,
除了文本之外还能添加其他附件,如图像、位置、视频、音频、联系人等。我们将在第
三部分为
Notes
开发一个运行在
iOS
平台中的对应应用。
本章不会编写任何代码,但是依然重要。我们将使用
Xcode
创建一个真实可用的
OS X
应用(不过还没什么用),做好前期准备。
本章要做的前期准备工作对大多数使用
Swift
开发的
OS X
iOS
应用都有用。使用
Xcode
Swift
Apple
平台开发应用最大的优势是,很多工作都为我们做好了。就在
一两年前,本章所做的前期准备工作还要编写大量代码才能完成。
即便你只想学习使用
Swift
开发
iOS
应用,我们还是建议你阅读讲解如何开发
OS X
用的这几章(只有四章而已)。这几章能让你更好地理解如何使用
Swift
Xcode
构建
应用,这样在第三部分开始构建
iOS
应用时便能得心应手。
4.1
设计这个
OS X
记事本应用
准备着手构建这个应用时,我们只知道自己想构建一个支持添加附件的记事本应用。为
了理清整个过程,我们画了几张线框图。
94
4
线框图是草图,示意想构建的应用。在纸上(电子纸或真正的纸)画出想法比直接
动手实现应用快得多,而且画出想法的过程有助于理清思路。
我们通常使用
OmniGraffle
画线框图,这是个优秀的矢量图绘制工具,特别适合绘制线
框图。然而,不用任何应用也能画出你对应用的构想,直接使用纸和笔也行。
我们在写这本书的几周之前就画好了线框图,而不是等到应用开发完才画的。也就
是说,使用线框图构思真实的产品时,线框图与成品是有差异的。这对小型开发团
队(例如只有你和另一个人)来说没问题,因为此时,线框图的作用不是创建完美
的蓝图让别人实现,而是为了更好地理解应用的工作方式。
这不是一本讲解如何设计线框图或如何构思应用的书,但是我们要大致了解要做什
么。根据我们的经验,如果不想好要构建什么就直接编程,则开发出的软件往往质
量低下。这就是为什么我们要先画线框图,并且附在这里给你看。
我们使用
OmniGraffle
提供的涂鸦工具确定该把什么放在线框图中,我们在纸上画出几
个矩形,以此表示窗口,然后问自己会怎么使用这个应用。如果发现设计有缺陷(这是
不可避免的)我们就应回到线框图中,增删或修改屏幕中的内容。我们不断修改线框图,
直到对设计出的应用满意为止。
我们为这个应用设计的线框图如图
4-1
所示。
构建
OS X
记事本应用的前期准备工作
95
4-1
这个 OS X 应用的线框图
OS X
中,不同的文件在单独的窗口中显示。这个应用没有“主窗口”,唯一可见的
是文件窗口。
这个应用的主体是文本编辑器,它占据着大部分空间。文本编辑器的下方是一个横向滚
动列表,列出全部附件。我们将把文档的各个附件的预览图显示出来。附件列表旁边有
个按钮,用于为文档添加新附件。用户单击那个按钮后会弹出一个框体,显示可以添加
的各种附件。
到这一部分末尾,上述线框图中草拟的应用会变成真实可用的应用,如图
4-2
所示。
96
4
4-2
这个 OS X 应用
这个
Mac
应用的主要特性有:
使用
OS X
提供的文件模型,因此自动获得了很多有用的行为,例如版本和自动保存,
以及把文件类型和应用关联起来(即双击文件后会在这个应用中打开)。
文档中的文本可以格式化,即可以倾斜、加粗、改变字母的颜色等。
文档还可以存储附件。文档的附件显示在文本区域下方。
添加附件有两种方式:一种是单击添加按钮,在弹出的窗口中选择想添加的文件
另一种是把文件拖曳到附件列表中。
双击附件后显示一个快速查看窗口,显示附件的内容。
双击位置附件(第三部分构建
iOS
应用时会进一步讨论这个话题)后在地图应用中
打开对应的位置。
下面开始构建应用!

Get Swift学习手册 now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.