iOS中Delegate的使用介绍

 

如果A想用B中的方法就要用代理来实现.

具体实现步骤如下:

(一个控制器一个uiview,uiview为A,控制器为B)

 

1: 首先创建一个协议,该协议中的方法是 b想用a中的那个方法 func

2: a想用b里的方法(在A类中)

((可以理解)为 A 想调用B的方法,这个时候可理解成A继承了B.这时候b要做为父类,b里拥有子类,在b的.h文件中声明一个b类对象的属性)

 首先B的.h文件中 先引入协议的头文件. 先遵守协议. 并且要拥有包含A类的属性(即声明一个B类的对象)

/**

 *  实现代理

 */

#import "DelegateViewController.h"

#import "MjFooterView.h"

@property(nonatomic,retain)MjFooterView *mjFoorView;

3:在A类中

在A类的.h文件中,首先引入协议的头文件,然后在声明代理的对象

/**

 *  实现代理对象

 */

@property(nonatomic,retain)id<DelegateViewController> target;

4:在B对象中的.m文件中

4.1要把实际开辟内存空间的A类对象赋值给当前B对象中的A类的属性对象

MjFooterView *footer = [MjFooterView footerView];

    

    /**

     *  设置代理

     */

 self.mjFoorView = footer;

4.2 在设置当前A类属性对象中的协议对象为self

self.mjFoorView.target = self;

5:在A对象的.m文件中的调用

[self.target loadingMoreData];

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值