您的位置:首页 > 移动开发 > IOS开发

IOS深入学习(18)之Target-Action

2013-10-11 21:17 281 查看

1 前言

    这节我们来学习一下Target-Action(目标-动作模式)。

    英文原文:

2 详述

    Target-Action是一种当一个事件发生时候,一个对象携带发送一个消息到另一个对象的必要的信息设计模式。存储的信息包括两类数据:标识所被调用的方法的动作选择器,和一个接收消息的目标。当被称作动作消息的事件发生的时候消息开始发送。尽管target可以是任何对象,甚至是框架对象,典型代表是以一种应用的特殊方式处理action message的一个自定义控制器。



    引发一个动作消息的事件可以是任何事物,比如对象发送消息可以为任何对象一样。举个例子:手势识别对象可能会发送一个动作消息给另一个对象当手势被识别的时候。然而target-action范例最普遍的发现在控制器例如按钮或者滑动条。当一个用户操作一个控制对象,它发送消息给特殊的对象。控制对象是UIControl的子类。action selecter和target object都是控制对象的属性。

2.1 一个动作方法必须是固定格式的

动作对象必须有传统的标示。UIKit框架允许某些标识变动,但是平台接受action methods的格式必须与下面代码类似:

-(IBAction)doSometing:(id)sender;


被用来替换void类型的,IBAction标识类型的限定词,是用来声明为一个action的方法以便Interface Builder能够知道它。对于出现在Interface Builer的一个action方法,我们首先必须声明它在实例用来接受action信息的class的头文件中。

2.2 我们能够设置Target和Action在代码里或者使用工具

我们能够设置一个control对象的action和target以编程的方式或者在Interface Builder中。设置这些属性有效的链接了control和她的target通过action。如果我们连接一个control和她的连接在Interface Builer中,连接会再nib文件中归档。当一个应用之后加载nib文件,连接将被存储。

我们能够设置一个action message的目标为空。以这种方式,应用在运行期确定target;它首先发送一个动作消息给第一响应者并且从那里开始它向上寻找响应链,知道动作被处理。

3 结语

    以上是所有内容,希望对大家有所帮助。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息