完全新手对delegate使用的理解

来源:互联网 发布:linux下yum下载rpm包 编辑:程序博客网 时间:2024/05/18 00:41

1,新建一个工程,工程名字为A;

2.新建一个头文件,命名为ClassADelegate;

3.新建一个objective-c class,命名为B;

ClassADelegate.h中的内容为:

@protocol ClassADelegate    //在类A中声明并且定义一个代理

-(void)ChangeObjectFromClassB;

@end


A.h中的新增内容为:

#import "ClassADelegate.h"

@interface A : UIViewController <ClassADelegate>{

id<ClassADelegate> delegate;

}

@property (nonatomic,assign)id <ClassADelegate> delegate;

@end

通过IB或者代码在A的xib中新增一个按钮,并做一个按钮的响应函数,本文中使用纯代码写的按钮

需要在A.m中添加头文件B.h

按钮的响应函数代码为

B *aa = [[B alloc]init];

self.delegate = aa;

[self.delegateChangeObjectFromClassB];

接下来就是B.h:

#import "ClassADelegate.h"

@interface show : NSObject <ClassADelegate> {

}

- (void)ChangeObjectFromClassB;

@end

剩下的就是在B.m中实现ChangeObjectFromClassB函数了

-(void)ChangeObjectFromClassB

{

NSLog(@"Test delegate");

}

至此,一个简单的delegate算是完成了,我们点击bt时,会打印Test delegate信息.

通过对代理的学习,发现,delegate与protocol始终联系在一起.





原创粉丝点击