oc学习笔记-protocol代理模式

本文深入探讨了Objective-C中的协议与代理模式的概念、使用流程及应用场景,包括定义协议、采纳协议、协议代理模式的应用场合等核心内容。

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

------<a href="http://www.itheima.com" target="blank">Java培训、Android培训、iOS培训、.Net培训</a>、期待与您交流! -------


1.protocol的基本概念


在写java的时候都会有接口interface这个概念,接口就是一堆方法的声明没有实现,而在oc里面interface使一个类的头文件的声明,并不是真正意义上接口的意思,在oc中,接口时一个叫做协议的protocol来实现的。


2.protocol的使用流程


1)定义协议

@protocol  协议名称<NSObject>  //默认遵守NSObject协议

 //方法声明

@end


2)采纳协议

@interface  类名:父类<协议名称>

@end


创建类的时候遵守某个或者多个协议

@interface 类名:父类<协议名称1,协议名称2>

@end


某个协议也可以遵守某个或者某些协议

@protocol  协议名称<其他协议名称>

@end


@protocol  协议名称<其他协议1,其他协议2>

@end







利用协议实现代理模式主要思路:

1)定义一个协议,里面声明代理类需要的方法列表,比如这里一个代理类需要实现feedbaby与hongbabysleep方法。

2)创建一个代理类(比如baomu)遵守上面的代理协议。

3)在需要代理的类中,定义一个对象类型为id且遵守代理协议的成员变量。

4)在baby类中调用成员变量_delegate(代理)的方法,调用代理类的方法。

5)main.m或其他使用baby类的文件中,为baby类的成员变量(代理类)赋值。


protocol代理模式应用场合

*对象A发生了一些行为,想告知对象B(让对象B成为对象A的代理对象)

*向对象B监听对象A的一些行为(让对象B称为对象A的代理对象)

*当对象A无法处理某些行为的时候,想让对象B帮忙处理(让对象B成为A代理对象)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值