[工学]IOS编程-TargetAction-实验指导课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《[工学]IOS编程-TargetAction-实验指导课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 工学 IOS 编程 TargetAction 实验 指导 课件
- 资源描述:
-
1、内容回顾内容回顾 代码示例:这样的代码会不会产生内存泄露?-(void)viewDidUnload self.statusText=nil;将self.statusTextz的引用计数减一(发送releas),-将Nil的引用计数加一!-(void)dealloc statusText release;super dealloc;内容回顾内容回顾 看一下属性声明:#import interface Button_FunViewController:UIViewController UILabel*statusText;property(nonatomic,retain)IBOutlet UIL
2、abel*statusText;-(IBAction)buttonPressed:(id)sender;end内容回顾内容回顾 代码示例:void setStatusText:(UILabel*)aLabel aLabel retain;statusText release;statusText=aLabel;本章授课内容本章授课内容vTarget-ActionTarget-Actionv课课堂堂实验实验Target-ActionvTarget-Action:Target-Action:Target-Action是一种设计模式,在这个设计模式中,一个对象保留了一些必要信息,当某种事件发生时将消
3、息发送给另外一个对象。这些必要的信息包含两部分的内容:一部分是一个Selector,用来标识要调用的Action;另一部分是Target,也就是接受消息的对象。Target-ActionTarget-Action 按钮包含了target和actionNSButtonaction=seed:Foo-(void)seed:(id)sendertargetTarget-Action 当用户和控件交互时,控件就会给它们的target发送action消息。例如:点击一个按钮,将会给它的target发送action消息:Action方法接受一个参数:发送者。该参数可以让接收者知道是哪一个控件发送了这个ac
4、tion消息。NSButtonaction=seed:Foo-(void)seed:(id)sendertargetseed:-(IBAction)toggleFoo:(id)sender BOOL isOn=sender state;Target-Action Target-Action是UIControl类中定义的一种机制,凡是UIControl子类的对象都可以通过设置target和action来通过消息触发某个操作。Target-Action UIControl类的声明interface UIControl:UIView NSMutableArray*_targetActions;CGP
5、oint _previousPoint;CFAbsoluteTime _downTime;-(void)addTarget:(id)target action:(SEL)action forControlEvents:(UIControlEvents)controlEvents;-(void)removeTarget:(id)target action:(SEL)action forControlEvents:(UIControlEvents)controlEvents;-(NSArray*)actionsForTarget:(id)target forControlEvent:(UICont
6、rolEvents)controlEvent;-(void)sendAction:(SEL)action to:(id)target forEvent:(UIEvent*)event;-(void)sendActionsForControlEvents:(UIControlEvents)controlEvents;endTarget-ActionNSButtonNSMutableArray*_targetActions;targetactionidmethodidmethodidmethodidmethodobjobjobjobjTarget-Action UIControlEventsenu
7、m UIControlEventTouchDown =1 0,UIControlEventTouchDownRepeat =1 1,UIControlEventTouchDragInside =1 2,UIControlEventTouchDragOutside =1 3,UIControlEventTouchDragEnter =1 4,UIControlEventTouchDragExit =1 5,UIControlEventTouchUpInside =1 6,UIControlEventTouchUpOutside =1 7,UIControlEventTouchCancel =1
8、8,;Target-ActionNSButtonaction=buttonPressed:Button_FunViewController-(void)seed:(id)sendertargetNSButtonaction=buttonPressed:targetNSLabeltextTarget-Action 通过代码设置Target和Action 可以通过UIControl的方法触发操作以响应事件:SEL sel;sel=selector(buttonPressed:);btn addTarget:someObjectWithbuttonPressedMethod Action:sel f
9、orEvent:UIControlEventTouchUpInside;(void)sendAction:(SEL)action to:(id)target forEvent:(UIEvent*)event;target PerformSelector:action withObject:self;本章授课内容本章授课内容vTarget-ActionTarget-Actionv课课堂堂实验实验课堂实验课堂实验v实验实验目的:目的:了解通过代码创建对象的流程 理解Target-Action模式课堂实验课堂实验v创创建工程:建工程:创建基于视图的工程 将工程名命名为DyButton课堂实验课堂实验
展开阅读全文