插座系列

在Flatiron School的iOS沉浸式课程的第二周,我几乎快要结束了。 当涉及到我的环境时,我一直认为自己是一个悠闲的家伙。 但是,在纽约待了一个多星期之后,我意识到我肯定是100%认证的整齐怪胎! 因此,当我在Xcode的Interface Builder: Outlet Collections中工作时遇到一个有趣的选择时,我的想象力被激起了,这并不奇怪。

到目前为止,我们主要使用IBOutlet构建了noob应用程序,这已经足以满足视图中相对较少数量的对象的需求。 但是,在第一天创建Tic Tac Toe应用程序时,我的朋友Will Robinson建议我们使用插座集合来管理众多按钮标签和操作。

插座集合使对象的状态更改(例如颜色,文本内容,隐藏状态等)更易于编码。 例如,在我合作的TicTacToe应用程序中,为网格的每个部分提供9个单独的按钮比为网格的每个部分提供9个单独的按钮要干净得多。 我们今天不会制作TicTacToe。 取而代之的是,我们将把一些标签放在一起作为Outlet Collection进行操作,以便快速分享它们的潜力。

首先,我们需要创建一个插座集合。 如果您想继续使用Xcode,建议您至少在两行中放置一些标签,因为这将有助于说明插座集合创建其初始顺序的方式。 即,集合的初始项目顺序是您添加它们的顺序。 因此,一旦在多行中创建了标签,请确定将标签添加到集合中的顺序。 我将从左到右,从上到下。

Ctrl将第一个标签拖动到View Controller.swift中。 系统将提示您选择一些选项并命名您的插座。 首先,确保选择连接类型为“ 插座集合”。 这将允许您向收藏夹添加其他标签。

创建您的Outlet Collection后,您将要开始将其余标签添加到该Collection中。 为此,您可以将集合的IBOutlet旁边的连接圈一次拖到情节提要中的每个标签上。 同样,我从左到右,从上到下进行了此操作。

注意:在Swift 3.0中,UILabel集合可以访问类似数组的方法,因此可以使用.remove.insert等方法来访问和操纵成员标签的位置。想想所有的程序化组织能够做到!)

现在,我们将如何控制这些标签? 简单! 由于我们已按照特定顺序将它们添加到集合中,因此我们可以根据该顺序引用它们! 例如,可以根据您在标签中放置标签的顺序(通过labelGroup [0] = Label1,labelGroup [1] = Label2,依此类推)通过labelGroup [index]来操作我的标签。 您可以通过放置几个打印命令并在ViewDidLoad()中设置labelGroup [0] =“ Hi!”来验证这一点。 现在,当我运行此应用程序时,我可以看到在日志中打印了可选字符串:

注意:请注意,我的日志仅显示打印行。如果您要这样做,请执行以下操作:

单击以下菜单: 产品>方案>编辑方案 单击“ 运行 (调试)”方案,然后在“ 环境变量”下添加带有“ +”的新行,并将名称字段编辑为: OS_Activity_Mode ,并将值字段编辑为: disable 。)

而且,当我看着模拟器时,我会看到Label 1的文本已被“ Hi!”代替:

现在,寻找有趣的东西! 让我们在按钮上添加一些行,这将根据我们的想法改变标签! 按下一个按钮(我称我为“ Do Something”,并且确实很难看)。 我添加了一些行,这些行将在按下按钮时更改每个标签,如下图右下方所示:

现在,当我运行该应用程序并在模拟器中按“ Do Something”按钮时,我将看到以下内容:

就是这样! 您已经了解了如何轻松,干净,快速地将UILabel组织和处理为Outlet Collections