***Xcode Interface Builder或Storyboard中可建立那两种连接?
在Xcode Interface Builder或Storyboard中,可建立到输出口(IBOutlet)和操作(方法,IBAction)的连接。
IBOutlet are for output Controls like Labels and TextFields, while IBAction are mostly for Objects like Buttons.
到 IBOutlet的连接可以实现在代码中引用和使用 UI 元素,如Label、TextBox等等;
— 创建连接的方法(1) :按住Control 键,并从场景的View Controller 图标,拖曳到视图中可视化 UI 上;释放按键,将出现一个下拉列表菜单,其中列出了可供选择的IBOutlet(输出口,或变量),正确选择即可。
— 创建连接的方法(2) :按住Control 键,并从可视化的 UI 元素(如Label、TextField等等)上拖曳到对应的interface 头文件上。Xcode 在屏幕上显示一条线,表示连接。在幕后,Storyboard中添加一段XML语句,表示上述连接。

在释放按钮后,将弹出窗口,让你配置连接参数。在Connection 字段选择 IBOutlet 作为连接类型。同时,指定IBOutlet参数名称(Name),后面的代码中会使用到。另外,正确选择对象类型Type和存储类型 Storage,如下图所示:

右击 TextField UI 元素,将弹出 Connection Objects 列表。可以看到Reference Outlets节点,TextField 和View Controller之间的连接;另外, 在头文件中,也可以看到IBOutlet变量前面有一个点,表示已建立了连接。如下图所示:

到IBAction 的连接,定义了一个UI 事件,如点击按钮Button,该事件将执行操作方法(也就是触发代码中的方法)。
— 创建连接的方法(1) :首先在Interface Builder 界面,选择需要调用或关联操作的 UI 元素,如Button,并点击 Utility 区域顶部的箭头头部(Connections Inspector -连接检查器)。Connections Inspector 显示了当前对象(Button)所支持的事件列表,可单击相应方法的圆圈,并将其拖曳到文档大纲区域中的View Controller 图标上。
在释放鼠标,选择相应的操作或方法,即可完成。
— 创建连接的方法(2) :选择Button,重复上面的操作方法。但是这一次,选择IBAction作为连接。

可注意到 Type 变为id,且出现了2个新的配置项:Event 和 Arguments。对于 Event,可选择 Touch Up Outside,对于 arguments 项,保持默认的 Sender 值。点击Connect按钮,在头文件中创建相应的代码,并建立连接。

下图是建立和IBOutlet 和 IBAction 连接之后,interface 文件中变量和方法前面的点标识示意:

***Xcode Interface Builder或Storyboard中可建立那两种连接?的更多相关文章
- XCode Interface Builder开发——2
XCode Interface Builder开发--2 简单的练手项目--仿苹果自备的计算器 简介 制作一个简易功能的计算器并非难事,但是其中要考虑的不同情况却仍有许多,稍不留神就会踩坑. 例如: ...
- XCode Interface Builder开发——1
XCode Interface Builder开发--1 创建Xcode项目 选择第二个选项 选择Single View App,点击Next 设置完后点击Next Xcode基本面板 导航面板 工具 ...
- MySQL中MyISAM和InnoDB两种主流存储引擎的特点
一.数据库引擎(Engines)的概念 MySQ5.6L的架构图: MySQL的存储引擎全称为(Pluggable Storage Engines)插件式存储引擎.MySQL的所有逻辑概念,包括SQL ...
- [转]Qt中定时器使用的两种方法
Qt中定时器的使用有两种方法,一种是使用QObject类提供的定时器,还有一种就是使用QTimer类. 其精确度一般依赖于操作系统和硬件,但一般支持20ms.下面将分别介绍两种方法来使用定时器. 方法 ...
- linux内核分析作业4:使用库函数API和C代码中嵌入汇编代码两种方式使用同一个系统调用
系统调用:库函数封装了系统调用,通过库函数和系统调用打交道 用户态:低级别执行状态,代码的掌控范围会受到限制. 内核态:高执行级别,代码可移植性特权指令,访问任意物理地址 为什么划分级别:如果全部特权 ...
- Java中HashMap遍历的两种方式
Java中HashMap遍历的两种方式 转]Java中HashMap遍历的两种方式原文地址: http://www.javaweb.cc/language/java/032291.shtml 第一种: ...
- jqGrid中实现radiobutton的两种做法
http://blog.sina.com.cn/s/blog_4f925fc30102e27j.html jqGrid中实现radiobutton的两种做法 ------------------- ...
- php获取数组中重复数据的两种方法
分享下php获取数组中重复数据的两种方法. 1,利用php提供的函数,array_unique和array_diff_assoc来实现 <?php function FetchRepeatMem ...
- jQuery中开发插件的两种方式
jQuery中开发插件的两种方式(附Demo) 做web开发的基本上都会用到jQuery,jQuery插件开发两种方式:一种是类扩展的方式开发插件,jQuery添加新的全局函数(jQuery的全局函数 ...
随机推荐
- oracle 日志文件管理
OS: [root@b28-122 ~]# more /etc/oracle-releaseOracle Linux Server release 5.7 DB: SQL> select * f ...
- 使用checked关键字处理“溢出”错误
在进行算术运算时,可以使用checked关键字有效处理溢出错误,使用checked关键字可能对程序的性能会有一点点的影响,这是一种以牺牲性能换取健康的做法. private void button1_ ...
- AppCan认为,移动APP开发不是技术活
很多粉丝反应,AppCan的文章太专业了,技术大大们毫不费劲,小白看的晕乎乎. 时代变了,5年前,AppCan的受众只有开发者.现在,政府高管.集团董事长.非技术类管理者.中小企业主.各行各业的管理者 ...
- hdu 1867 A + B for you again
题目连接 http://acm.hdu.edu.cn/showproblem.php?pid=1867 A + B for you again Description Generally speaki ...
- go again
Introducation (1)How to organize go code (2)How to develope go package (3)How to use go tool How to ...
- MVC 局部加载页面的实例
我们在做MVC 进行某一块的局部刷新,有的使用AJAX 请求,有的使用局部页: 下面我给大家推荐一种使用局部页面实现的这种方式: 第一步: 嵌套视图页 <div id="showAud ...
- UserDefault 用户首选项读写 swift
// // ViewController.swift // 首选项数据读写 // // Created by mac on 15/7/12. // Copyright (c) 2015年 fangyu ...
- < java.lang >-- StringBuilder字符串缓冲区
JDK1.5出现StringBuiler:构造一个其中不带字符的字符串生成器,初始容量为 16 个字符.该类被设计用作 StringBuffer 的一个简易替换,用在字符串缓冲区被单个线程使用的时候( ...
- 项目中添加Log4J支持
首先,在项目中的classes 中新建立一个log4j.properties文件即可: 在实际编程时,要使Log4j真正在系统中运行事先还要对配置文件进行定义.定义步骤就是对Logger.Append ...
- B-tree/B+tree/B*tree [转]
(原文出处:http://blog.csdn.net/hbhhww/article/details/8206846) B~树 1.前言: 动态查找树主要有:二叉查找树(Binary Search Tr ...