首先我写了两个类,A类和B类. 在B中写了一个协议,然后在B中写了方法触发代理方法. A类中遵守了B类协议,并且实现了协议.
先解释一下下面的代码,这是重点!!!!!(中午写的,,,,,,楼主给点分吧....)
首先B类中写了一个可选的协议,然后在B类的实现中写了一个方法来调用.
A类中遵守了B类的协议,并且设置实现了代理方法.
main函数中,我创建了一个B类对象,然后调用B中启动代理的方法.之后B类就会寻找遵守B类协议的A类,并且执行在A类中实现的代理方法.
这样的话,我就可以在B对象中执行A类中的方法(实际还是B类的代理方法)
好处:可以进行类与类之间的传值.因为有些时候,类之间耦合性太高,不符合面向对象的特征,因此要使用代理,建立两个类之间的关系
下面是具体的代码
AClass.h
- #import <Foundation/Foundation.h>
- @interface CDAClass : NSObject
- @end
复制代码 AClass.m
- #import "CDAClass.h"
- #import "CDBClass.h"
- @interface CDAClass()<CDBClassDelegate><span id="transmark"></span>
- @end
- @implementation CDAClass
- - (void)methodDelegateModal:(CDBClass *)cdbclass{
- NSLog(@"在A类中执行了%s",__func__);
- }
- @end
复制代码
|