IOS回调函数

1 篇文章 0 订阅
1 篇文章 0 订阅

自定义方式实现回调  具体代码:

1、创建一个工程名CallBackDemo,在ViewController.xib文件加入一个button按钮,ViewController.h代码:

1 #import <UIKit/UIKit.h>
2 @interface ViewController : UIViewController{
3     IBOutlet UIButton *clickButton;
4 }
5   
6 - (IBAction)onClickButtonTouchUpInside:(id)sender;
7   
8 @end

上述第7行代码,便是点击button触发的事件操作。

2、ViewController.m代码:


08
09 #import "ViewController.h"
10 #import "EventObject.h"
11   
12 @implementation ViewController
13 - (void)viewDidLoad
14 {
15     [super viewDidLoad];
16 }
17   
18 - (IBAction)onClickButtonTouchUpInside:(id)sender
19 {
20     NSLog(@"onClickbutton...");
21 ;    EventObject *eventObject = [[[EventObject alloc] init] autorelease];
22     [eventObject setDelegateObject:self setBackFunctionName:@"handleBackFunction"];
23 ;    [eventObject handleEventObject];
24 }
25
26 - (void)handleBackFunction
27 {
28     NSLog(@"执行完eventObject函数之后的具体的操作。。。。");
29 ;}
30
31 - (void)viewDidUnload
32 {
33     [super viewDidUnload];
34 }
35 @end

此类使用到了EventObject类,下面看一下EventObject类的代码。

3、EventObject.h代码:

1 @interface EventObject : NSObject {
2     id callbackObject;//回调类
3     NSString *callbackFunction;  //回调的函数名
4 }
5
6 - (void)handleEventObject;
7 - (void)setDelegateObject:(id)cbobject setBackFunctionName:(NSString *)selectorName;

EventObject.m代码:
01 #import "EventObject.h"
02
03 @implementation EventObject
04 - (void)handleEventObject
05 {
06     NSLog(@"执行本类的操作"); ;
07
08     //执行回调操作
09     SEL func_selector = NSSelectorFromString(callbackFunction);
10     if ([callbackObject respondsToSelector:func_selector]) {
11         NSLog(@"回调成功...");
12 ;        [callbackObject performSelector:func_selector];
13     }else{
14         NSLog(@"回调失败...");
15 ;    }
16 }
17
18 //赋值回调
19 - (void)setDelegateObject:(id)cbobject setBackFunctionName:(NSString *)selectorName
20 {
21     callbackObject = cbobject;
22     callbackFunction = selectorName;
23 }
24
25 - (void)dealloc
26 {
27     [super dealloc];
28 }

具体说明:

点击button触发 onClickButtonTouchUpInside函数,此函数中调用EventObject类的handleEventObject函数,当执行完handleEventObject函数,回调ViewController类中的handleBackFunction函数。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值