ios开发之委托者模式分析

本文详细解析委托者模式的组成元素,包括协议、委托者和代理,并通过实例展示如何实现和应用这一模式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

委托者模式

委托者模式里面包裹的对象有如下:

(1)协议

(2)委托者

(3)代理

接下来分析他们之间的逻辑和完成的工作任务

协议:定义一个协议(协议定义类的方法,但是不去实现类的方法),接下来定义协议方法 如下:

@protocol UITableViewDataSource<NSObject>

@required

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section;

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath;

@optional

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView; 
@end

协议接下来指定一个委托

委托者:声明一个委托,其实就是协议去指定一个委托,实现的过程如下:

@property (nonatomic, assign)   id <UITableViewDataSource> dataSource;

委托者不去实现,指定代理去实现

代理:代理最重要的功能就是间接的实现协议里面类的方法,由委托者来指定

tableView.dataSource=self;所以就实现了UITableViewDataSource协议里面的方法了

总结:协议指定委托,委托设置代理,代理实现协议方法

代理设置自己,设置自己存在的情况一般是:A类和B类,A类里面添加B类(相当于B类是A类的子类),B类要在A类里面实现协议定义的方法,所以B类定义委托为自己,去实现B类里面定义的协议方法

代理设置另外一个类:主要完成任务是传值


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值