ios学习笔记(六)之回调函数
2016-04-22 07:09
369 查看
今天开发中用到了回调,貌似oc中回调方法很多,在此仅先学习来正式协议回调。
回调函数:
类A调用类B, 类B某个模块之行结束需要调用A中的某个函数
通常有两个步骤:
- 回调函数注册 类A将自己的函数作为回调函数注册到B
- 函数调用,类B中达到某个条件时调用类A注册到类B的回调函数
第一步创建协议
#import <Foundation/Foundation.h>
@protocol ASIhttpCallback
-(NSString*) httpSuccess:(NSString*) result;
-(NSString*) httpFailures:(NSString *) result;
@end
步骤二 创建类B 运行回调函数
classB.h
@interface MalertViewUtil : NSObject{
id<ASIhttpCallback> asihttpCallback;
}
@property (nonatomic)
id<ASIhttpCallback>
asihttpCallback;
-(void)test;
@end
classB.m
@implementation ClassB
-(void)test{
[self.asihttpCallback
httpSuccess:传入值];//调用回调函数
}
@end
第三步 类A进行回调函数注册
classA.h
#import "ASIhttpCallback.h"
@interface classA :
UIViewController<ASIhttpCallback>
-(void)classAtest;
@end
classA.m
@implementation
classA
(NSString*) httpSuccess:(NSString*) result
{
NSLog(@"回调结果:%@",result);
return
NULL;
}
-(NSString*) httpFailures:(NSString *) result
{
return
NULL;
}
-(void)classiest{
classB *classBtest = [[classB alloc] init];
classBtest.delegate = self;
}
@end
回调函数:
类A调用类B, 类B某个模块之行结束需要调用A中的某个函数
通常有两个步骤:
- 回调函数注册 类A将自己的函数作为回调函数注册到B
- 函数调用,类B中达到某个条件时调用类A注册到类B的回调函数
第一步创建协议
#import <Foundation/Foundation.h>
@protocol ASIhttpCallback
-(NSString*) httpSuccess:(NSString*) result;
-(NSString*) httpFailures:(NSString *) result;
@end
步骤二 创建类B 运行回调函数
classB.h
@interface MalertViewUtil : NSObject{
id<ASIhttpCallback> asihttpCallback;
}
@property (nonatomic)
id<ASIhttpCallback>
asihttpCallback;
-(void)test;
@end
classB.m
@implementation ClassB
-(void)test{
[self.asihttpCallback
httpSuccess:传入值];//调用回调函数
}
@end
第三步 类A进行回调函数注册
classA.h
#import "ASIhttpCallback.h"
@interface classA :
UIViewController<ASIhttpCallback>
-(void)classAtest;
@end
classA.m
@implementation
classA
(NSString*) httpSuccess:(NSString*) result
{
NSLog(@"回调结果:%@",result);
return
NULL;
}
-(NSString*) httpFailures:(NSString *) result
{
return
NULL;
}
-(void)classiest{
classB *classBtest = [[classB alloc] init];
classBtest.delegate = self;
}
@end
相关文章推荐
- IOS学习笔记(五)之正式协议
- iOS 中各种折线.曲线.图形绘制方法集锦(折线图.走势图.柱状图.动态曲线图.形状图.划线图)
- iOS开发模仿网易新闻实现多控制器切换
- 没技能到处碰壁 蜂窝教育iOS培训改变现状
- 关于iOS远程推送的那些事
- iOS 高效添加圆角效果实战讲解
- iOS界面调试工具 Reveal-备用
- xcode 添加新target (支持cocoapods)
- IOS之CALayer基本使用
- iOS --旋转动画
- iOS 即时视频和聊天(基于环信)
- iOS 即时视频和聊天(基于环信)
- iOS开发——block传值
- 关于iOS打包上传到iTunesconnect的失败原因做了一些整理,有问题,可留言,相互学习
- alertview和alertviewcontroller的关系
- iOS 多线程
- iOS 多线程 浅述
- iOS开发 ☞ Simulator(模拟器)
- ios开发总结之transform
- ios每日一发--仿侧边抽屉效果