iOS学习 委托和回调

来源:互联网 发布:linux tomcat启动很慢 编辑:程序博客网 时间:2024/05/22 00:28

1.创建protocol

myprotocol.h

@protocol myprotocol <NSObject>@required    -(void)callback:(int)parameter;@end

在协议里定义了回调函数名称。

2.创建类B,运行回调函数

ClassB.h

@interface ClassB : NSObject{    id<myprotocol>delegate;}@property (nonatomic, retain) id<myprotocol>delegate;    -(void)test;@end

ClassB.m

@implementation ClassB@synthesize delegate;           //delegate将赋值为classA-(void)test{    [self.delegate callback];   //调用classA的callback回调函数}@end

3. 类A遵守协议,实现回调函数

ClassA.h

@interface ClassA : UITableViewController<myprotocol>@end

ClassA.m

@implementation ClassA///类A必须实现协议定义的callback-(void)callback:(int)parameter{    NSLog(@"callback ClassA");}-(void)ClassA{    ClassB *classB = [[classB alloc] init];    classB.delegate = self; //这一句是关键    [classB test];          //调用classB的test,在test里回调ClassA的callback函数}@end

参考:
http://my.oschina.net/3wcar/blog/107816

1 0
原创粉丝点击