当前位置 > 主页 > 万和大讲堂 >


iOS应用程序开发教程:六、为文本栏和标签创建 Outlet

2015-08-21 11:39

outlet描述了两个对象之间的连接。当你想要一个对象(例如视图控制器)和它包含的对象(例如文本栏)进行通讯时,须将被包含的对象指定为 outlet。应用程序运行时,会恢复在 Xcode 中创建的 outlet,从而使对象在运行时可以互相通讯。

在本教程中,你想要视图控制器从文本栏获取用户的文本,然后将文本显示在标签上。为确保视图控制器可以和这些对象通讯,你在它们之间创建 outlet 连接。南京iOS应用开发培训

为文本栏和标签添加 outlet 的步骤与添加按钮操作的步骤非常相似。开始之前,请确定主串联图文件仍然显示在画布上,而 HelloWorldViewController.m 在辅助编辑器中保持打开。

为文本栏添加 outlet

1. 按住 Control 键将视图中的文本栏拖移到实现文件中的类扩展。随着你按住 Control 键拖移,看到的应该是这样的:

在类扩展内部的任何地方松开 Control 键并停止拖移都没有关系。在本教程中,文本栏和标签的 outlet 声明出现在"Hello"按钮的方法声明的上面。

2. 在松开 Control 键并停止拖移时出现的弹出式窗口中,配置文本栏的连接:南京iOS应用开发培训

·  确定"Connection"弹出式菜单包含"Outlet"。

·  在"Name"栏中,键入"textField"。

    你可以给 outlet 随意命名,但是如果 outlet 名称与其表示的项目有关联,你的代码会更便于阅读。

·  确定"Type"栏包含"UITextField"。

    将"Type"栏设定为"UITextField"可确保 Xcode 将 outlet 仅与文本栏连接。

·  确定"Storage"弹出式菜单包含默认值"Weak"。

    稍后在掌握基本的编程技能中,你将了解有关强储存和弱储存的更多信息。

3. 完成这些设置后,弹出式窗口看起来应该是这样的:

4.

5. 在弹出式窗口中,点按"Connect"。

通过为文本栏添加 outlet,你完成了两件事情:在这个过程中:

·Xcode 将合适的代码添加到了视图控制器类的实现文件
      (HelloWorldViewController.m)。

  具体来说,Xcode 将以下声明添加到了类扩展:南京iOS应用开发培训

@property (weak, nonatomic) IBOutlet UITextField *textField;

  注:IBOutlet 是一个特殊关键词,仅用于告诉 Xcode 将对象作为 outlet 处理。它实际上的定义为什么都不是,因此在编译时不起作用。

·Xcode 在视图控制器和文本栏之间建立了连接。

  通过在视图控制器和文本栏之间建立连接,用户输入的文本可以传递给视图控制器。和处理changeGreeting: 方法声明一样,Xcode 在文本栏声明的左边显示带有填充的圆圈,以表示已经建立连接。

注:较早版本的 Xcode 使用按住 Control 键拖移的方式将 @synthesize 指令添加到你所声明的每个属性的实现块。因为编译器自动合成存取方法,所以这些指令是不必要的。你可以放心地将它们全部删除。

现在为标签添加 outlet 并配置连接。在视图控制器和标签之间建立连接,会让视图控制器以字符串(该字符串包含用户输入的文本)来更新标签。完成此任务的步骤与为文本栏添加 outlet 的步骤相同,只不过在配置时要做适当修改。(确定 HelloWorldViewController.m 仍然显示在辅助编辑器中。)

为标签添加 outlet

1. 按住 Control 键将视图中的标签拖移到辅助编辑器中的 HelloWorldViewController.m 的类扩展。

2. 在松开 Control 键并停止拖移时出现的弹出式窗口中,配置标签的连接:

·确定"Connection"弹出式菜单包含"Outlet"。

·在"Name"栏中,键入"label"。

·确定"Type"栏包含"UILabel"。

·确定"Storage"弹出式菜单包含"Weak"。

3. 在弹出式窗口中,点按"Connect"。

到此为止,你一共创建了三种到视图控制器的连接:

·按钮的操作连接

·文本栏的 Outlet 连接

·标签的 Outlet 连接

你可以在"Connections"检查器中验证这些连接,为视图控制器打开"Connections"检查器的具体方法如下:

1. 点按标准编辑器按钮以关闭辅助编辑器,并切换到标准编辑器视图。南京iOS应用开发培训

  标准编辑器按钮是最左边的那个"Editor"按钮,它是这样的:

2. 点按"Utilities"视图按钮以打开实用工具区域。

3. 在大纲视图中选择"Hello World View Controller"。

4. 在实用工具区域显示"Connections"检查器。

  "Connections"检查器按钮是检查器选择栏最右边的那个按钮,它是这样的:在"Connections"检查器中,Xcode 显示了所选对象(在本例中为视图控制器)的连接。在工作区窗口中,你看到的应该是这样的:

你会发现,在视图控制器和其视图之间,除了你创建的三个连接之外,还有一个连接。Xcode 提供了视图控制器和其视图之间的默认连接;你不必用任何方式访问它,这些内容我们会在下一次的章节讲到!


最近开班 more>
  • Python基础班
  • Java全栈开发
  • 前端基础班
  • 软件测试
  • 云原生精英班
  • 云网预科班
  • CISP
  • HCIE-Datacom(HCIA,HCIP基础)
  • HCIP-Datacom(HCIA基础)
  • HCIA-Datacom(0基础)
  • HCIE-Datacom(HCIA,HCIP基础)
  • HCIP-Datacom(HCIA基础)
  • HCIA-Datacom(0基础)
  • OCM 12C
  • OCP 19C
  • RHCE 9.0
  • 随时开课
  • 12月26日
  • 随时开课
  • 12月4日
  • 12月16日
  • 12月9日
  • 12月21日
  • 1月6日
  • 12月30日
  • 12月16日
  • 12月21日
  • 12月7日
  • 12月7日
  • ——
  • 随时开课
  • 12月16日
    • 姓 名 :
    • 电 话 :
    • 课 程 :

技术交流群

  • Java大数据交流群560819979加入
  • Python技术交流群595083299加入
  • Oracle技术交流群595119011加入
  • Web前端技术交流群604697610加入
  • Huawei技术交流群482919361加入
  • Redhat技术交流群587875348加入
  • UI设计技术交流群511649801加入
  • Cisco技术交流群596886705加入
  • IT运维技术交流群605888381加入