ios学习笔记(六)之回调函数

来源:互联网 发布:历年人口普查数据 编辑:程序博客网 时间:2024/05/16 14:16

今天开发中用到了回调,貌似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.asihttpCallbackhttpSuccess:传入值];//调用回调函数

}

@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









0 0
原创粉丝点击