如何从头开始创建iTunes Samples Player? (第1部分)

注意 :本文的灵感来自Audrey Tam的出色教程-raywenderlich.com上的“ URLSession教程:入门”。 她的教程基于一个入门项目,该项目已完成约60%,并且她将该项目用作启动板,以介绍URLSession的其他更深入的方面。

我的文章解释了填补0%到60%之间的差距所需的步​​骤。 这里的目的是增加以上教程中已经存在的内容,但绝不替代它。 但是,如果您了解基于NSURLSession的网络的基础知识,则可以继续阅读并将其视为独立的教程。

在开始之前,让我们看看我们要实现的目标。 在本文的结尾,我们将创建一个应用程序,该应用程序可以使用关键字搜索iTunes,显示结果,启动下载,根据需要暂停恢复下载并播放歌曲。

该应用程序的体系结构是MVC-N。 它具有模型,视图,控制器和网络层。

在Xcode中启动一个新项目。 选择“单视图应用”。 在下一个屏幕上,输入产品名称,选择团队,根据需要输入组织和组织标识符,选择语言为Swift。 在下一个屏幕中,选择项目的位置。

现在已经创建了项目,在“项目导航器”中进行分组。 创建四个组,分别是视图,模型,控制器,网络和支持文件。 选择“ ViewController.swift”到“ Controller”文件夹。 将Xcode随项目创建的其余文件移动到“支持的文件”中,Info.plist除外。 还要从编辑器窗格中选择“ ViewController.swift”,将其名称重构为“ SearchViewController.swift”。

完成后,您的“项目浏览器”应类似于以下内容:

在这里,我们需要选择“ Main.storyboard”,该文件通常为空。 拖放搜索栏并调整其尺寸,使其填充视图顶部。

然后,添加一个充满整个屏幕其余部分的tableView控制器。 将tableviewcell拖到tableView的顶部,它将用作原型单元。

完成后,情节提要将如下所示。

只需运行该应用程序,然后查看您的位置即可。 如果您看到与以下内容相似的商品,那就很好。

接下来,我们将为此应用程序设计原型单元。 我们有七个UI元素可用于此原型单元。 它们是曲目标题,艺术家标题,下载进度指示器,下载进度描述标签,下载按钮,取消按钮和恢复按钮。 根据需要调整原型单元的高度。

此时不要花时间建立完美的约束。 我们的重点必须放在放置项目并将它们连接到我们将很快创建的自定义UITableViewCell类文件上。

我已经对单元上的三个标签进行了基本的自定义,以在视觉上区分它们。 我将曲目标题字体类型设置为粗体,将艺术家标签字体颜色设置为灰色,将进度描述标签大小设置为10.0。 原型单元现在看起来像这样。

现在,我们已经准备好原型单元UI,让我们在“视图”下创建一个类来连接UI元素。 右键单击“视图”文件夹,选择“新文件”,在下一个屏幕上选择“可可接触类”,输入名称为“ TrackCell”,然后从下拉选项中选择“ UITableViewCell”。 选择要保存的位置。

添加新类后,将原型单元的类设置为TrackCell。

同样,我们需要为原型单元设置一个可重用的标识符。

是时候将原型元素作为IBOutlets连接到新创建的tableViewCell类了。

选择主板。 启用助手视图,以便您可以轻松地从情节提要中按住Ctrl +拖动,然后拖放到类文件中。 选择的元素名称为titleLabel,artistLabel,progressView,progressLabel,pauseButton,cancelButton和downloadButton。 连接插座后的外观如下。

这标志着我们为该应用程序创建UI基础结构的第一部分的完成。 在第2部分中,我们将更深入地研究编码方面。