委托和协议的区别

高效数据迁移:ICCAP到ADS的数据导入与导出实战指南 本文提供了从ICCAP到ADS进行高效、准确数据迁移的实战指南。针对射频与微波电路设计中的关键挑战,详细阐述了迁移前的战略规划、ICCAP数据的精细化导出(包括脚本化批处理)、ADS数据的多种导入方法(如Data Items、DML模型库及编程化API),并强调了数据完整性与准确性验证的重要性,确保模型参数和仿真结果在平台间可靠传递。 阅读详情

该文章转载于http://blog.youkuaiyun.com/jiajiayouba/article/details/21103667

iOS上的协议类似于C#、Java上面的接口,他是从类中抽出来的一系列方法,但方法的实现是在实现这个协议的类中,任何实现这个协议的类都需要实现协议类中的@require方法;

委托是一种设计模式,是一种设计思想。

但是在IOS上面委托经常依托协议来实现(但并不是必须的)。一个很好的例子就是老板和秘书:老板要经营企业需要对新员工培训、对公司管理、打电话、发薪水等工作,但是对应老板来说一些事情例如打电话、发薪水的工作可以通过秘书来做,老板自己只负责对员工培训、公司管理,别的事情委托给秘书来做。委托思想就是在这种类似情况下产生的。

再说一下为什么IOS上面的委托经常依赖协议来实现?就像老板需要一个会打电话、发薪水的秘书来减轻老板自己的工作,但是老板并不知道谁有这两项技能,那老板就会发一个招聘,招聘会这两项技能的人。但老板怎样知道应聘人员会这两项技能那,老板会通过你的学历和工作经验判断应聘人员是否会这两项技能;但是对于程序来说,在不知道这个类的内部情况下怎样知道这个类是不是可以委托,评判标准是啥?这个时候如果一个类实现一个有这两项技能的协议,则能很容易判断出这个类具有这两项技能。这个就是IOS上面为什么委托经常和协议一块用。

例子待续...

协议

01 #import <Foundation/Foundation.h>
02  
03 //协议是从类抽出的一些方法,如何实现这个协议的类都需要实现这里面的方法
04 @protocol SecProtocol <NSObject>
05  
06 @required
07 //发工资
08 - (void)payoff;
09 //打电话
10 - (void)tel;
11  
12 @optional
13  
14 @end
Boss
01 #import <Foundation/Foundation.h>
02 #import "SecProtocol.h"
03  
04 //委托人
05 @interface Boss : NSObject
06  
07 @property (nonatomic, retain) id<SecProtocol> delegate;
08  
09 //管理
10 - (void)manage;
11 //教导新员工
12 - (void)teach;
13 //打电话
14 - (void)tel;
15 //发工资
16 - (void)payoff;
17 @end
01 #import "Boss.h"
02  
03 @implementation Boss
04  
05 @synthesize delegate;
06  
07 - (id)init{
08     self = [super init];
09     if (self) {
10          
11     }
12     return self;
13 }
14  
15 - (void)manage{
16     NSLog(@"boss manage");
17 }
18  
19 - (void)teach{
20     NSLog(@"boss teach");
21 }
22  
23 - (void)payoff{
24     [self.delegate payoff];
25 }
26  
27 - (void)tel{
28     [self.delegate tel];
29 }
30 @end
Sec
1 #import <Foundation/Foundation.h>
2 #import "SecProtocol.h"
3 // 秘书类,实现协议, 委托对象
4 @interface Sec : NSObject<SecProtocol>
5  
6 @end
01 #import "Sec.h"
02  
03 @implementation Sec
04  
05 - (id)init{
06     self = [super init];
07     if (self) {
08          
09     }
10     return self;
11 }
12  
13 - (void)payoff{
14     NSLog(@"sec payoff!");
15 }
16  
17 - (void)tel{
18     NSLog(@"sec tel");
19 }
20 @end
调用方法
1 Boss *boss = [[Boss alloc] init];//委托人
2     Sec *sec = [[Sec alloc] init];//委托对象,实现了一定协议的对象
3     boss.delegate = sec;//将委托对象复制给委托人里面的委托对象
4      
5     [boss teach];
6     [boss manage];
7      
8     [boss tel];
9     [boss payoff];


从零解析:富斯i6遥控器与STM32的IBUS协议通信实战 本文详细解析了富斯i6遥控器与STM32通过IBUS协议通信的实战指南,涵盖硬件准备、协议解析、驱动实现及常见问题解决。特别适合机器人及智能小车开发者,提供低成本、高可靠性的无线控制方案,助力快速实现多通道控制功能。 阅读详情

相关推荐

5.1 Tessent Atpg系列 第八章 Test Pattern Generation - Verify Test Pattern

为什么要做基于timing的仿真,意义在于可以比较ATPG工具和simulator工具的差异性。因为时序的差异导致不同的结果。首先你需要通过write_patern 这句cmd来写出pattern,默认是parallel 模式,除非你用-serial 指定写出serial, 因为serial 文件非常大,所以你可以使用-sample 开关写出部分pattern即可,工具会根据每一种pattern 类型都会至少保存一只。 另外,你也可以使用-start -end 开关来减少文件大小,但是这样的截取,是不可靠的

ciscomonkey的博客 7763

西门子S7-1200 MODBUS TCP客户端配置避坑指南:从V3库指令到数据缓冲区实战

本文详细解析了西门子S7-1200 MODBUS TCP客户端配置中的常见问题与解决方案,特别针对V3库指令与数据缓冲区的实战应用。从硬件版本选择到网络配置,再到MODBUS库指令的版本差异和数据缓冲区设置,提供了全面的避坑指南和调试技巧,帮助工程师高效完成配置任务。

weixin_33719619的博客 245

LIO-SAM运行报错‘process has died’?别慌,一个命令搞定libmetis.so库路径问题

本文详细解析了LIO-SAM运行中常见的‘process has died’报错问题,特别是由libmetis.so库路径错误导致的节点崩溃。通过一个简单的命令移动库文件到正确位置,即可快速解决这一问题,同时提供了多种替代方案和预防措施,帮助开发者更好地理解Linux动态库加载机制和ROS环境管理。

weixin_29231221的博客 205

IOS --委托和协议区别和联系(一)

IOS上的协议类似于C#、Java上面的接口,他是从类中抽出来的一系列方法,但方法的实现是在实现这个协议的类中,任何实现这个协议的类都需要实现协议类中的@require方法; 委托是一种设计模式,是一种设计思想。 但是在IOS上面委托经常依托协议来实现(但并不是必须的)。一个很好的例子就是老板和秘书:老板要经营企业需要对新员工培训、对公司管理、打电话、发薪水等工作,但是对应老板来说一些

执迷的博客 641

Gromacs文件格式全解析:xtc vs trr vs cpt,哪种更适合你的模拟需求?

本文深入解析Gromacs分子动力学模拟中的三种核心文件格式xtc、trr和cpt,详细对比其技术特性和适用场景。xtc适合存储效率优先的场景,trr保留完整动力学数据,cpt确保模拟精确重启。通过实际配置示例和存储优化技巧,帮助用户根据模拟需求选择最佳格式组合,平衡分析灵活性与存储成本。

weixin_29281941的博客 96

SQLSTATE58030

在优化一条SQL的时候遇到了执行错误 gtlions =# select t1.telnumber,t2.ua,t2.url,t1.apply_name,t2.apply_name from tb1 t1 gtlions -# left outer join tb2 t2 on t1.sid = t2.ipsid gtlions-# where t1.sum_date=20141128 a

Gtlions Tracker 3660

协议与委托

一、协议与委托知识点 1、通过委托与数据源协议进行对象间通信 委托模式为对象提供来一套接口,使其可由此将相关事件告知其他对象。 将委托对象应该支持的接口定义称协议,在协议中把可能需要处理的事件定义成方法。 当某对象需要从另一个对象中获取数据,可以使用委托模式,这种情况下,该模式也称“数据源模式” 若有必要,可以实现含有位段的结构体,将委托对象是否能响应相关协议方法( [obj respondsToSelector:@selector(方法名)] )这以信息缓存至其中。 2、将类的实现代码分散到便于

yang992510244yang的博客 265

【鼠标在不点击的情况下,直接移动到QT控件上不显示提示信息】

有时明明已经调用了setToolTips方法,鼠标移动到QT控件上仍然不会有提示信息,这时候就需要具体分析下。重点就是标红的这段话,大概意思就是。.h文件中加入鼠标移动事件的定义。.cpp文件中实现该事件。

ZTH_G的博客 2424

C#委托与代理模式

在设计模式的学习过程中,委托是一个不容易理解的知识点。尤其是在学完代理模式之后,就更不知道什么是什么了。下面分别看一下各自的实例,来看一下这两者有什么区别。       委托是一种引用方法的类型。一旦为委托分配了方法,委托将于该方法具有完全相同的行为。委托的方法的使用可以向其他任何方法一样,具有参数和返回值。       委托可以是对函数的抽象,即为函数的“类”,委托的实例对象将代表一

赵崇 8479

Autosar PWM模块的配置和使用

在上面的代码中,我们首先配置了PWM的初始化参数,包括频率和分辨率。GPIO Driver:由于PWM信号需要输出到特定的引脚上,因此我们还需要使用GPIO驱动程序来控制引脚的状态。通过合理配置和应用PWM模块,我们可以实现对汽车电子系统中各种功能的精确控制,从而提高汽车性能和用户体验。在实际应用中,我们可以根据需要进行更多的配置和调整,以实现灵活的PWM控制。PWM Driver:这是主要的PWM驱动程序,负责产生PWM信号并输出到相应的引脚上。接下来,我们需要配置PWM模块的参数。

TcData的博客 682

什么是 SAP PCE?

SAP Private Cloud Edition 是一种基于云计算的部署模式,它结合了公有云的灵活性和私有云的安全性,为企业提供了量身定制的云服务。在 PCE 环境中,SAP 托管和维护客户的应用系统(如 SAP S/4HANA、SAP SuccessFactors 或 SAP BW/4HANA),同时客户拥有更高的定制化权限。专属环境:每个客户在云中拥有独立的资源,这保障了更高的安全性和性能。全面托管:SAP 提供基础架构、系统管理和更新服务,降低了客户的运维成本。灵活扩展。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 2247

C# 事件和委托的区别及实现机制

区别:https://www.cnblogs.com/lilin123/archive/2012/12/20/2826514.html 事件机制:http://blog.sina.com.cn/s/blog_6df270680101c7cp.html

风从北边来的博客 2104

基于YOLOv8的MVTec AD缺陷检测系统设计与实现

速度快,精度高;支持 anchor-free 架构;支持实例分割和图像分类;模块化代码,易于部署与改进;完美兼容 ONNX、TensorRT 等推理框架;官方支持多平台训练和推理(CPU/GPU)。YOLOv8 是工业视觉检测落地非常理想的选择。MVTec AD(Anomaly Detection)数据集包括15类工业对象,每个对象包括多个子类缺陷(例如 “scratch”, “crack”, “hole”)及正常图像。类别缺陷子类bottlecablecapsule。

YOLO 932

IOS 委托和协议区别和联系

IOS上的协议类似于C#、Java上面的接口,他是从类中抽出来的一系列方法,但方法的实现是在实现这个协议的类中,任何实现这个协议的类都需要实现协议类中的@require方法; 委托是一种设计模式,是一种设计思想。 但是在IOS上面委托经常依托协议来实现(但并不是必须的)。一个很好的例子就是老板和秘书:老板要经营企业需要对新员工培训、对公司管理、打电话、发薪水等工作,但是对应老板来说一些

lx31433的专栏 344

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

IOS 委托和协议区别和联系 (-)

IOS 委托和协议区别和联系 (-) IOS上的协议类似于C#、Java上面的接口,他是从类中抽出来的一系列方法,但方法的实现是在实现这个协议的类中,任何实现这个协议的类都需要实现协议类中的@require方法; 委托是一种设计模式,是一种设计思想。 但是在IOS上面委托经常依托协议来实现(但并不是必须的)。一个很好的例子就是老板和秘书:老板要经营企业需要对新员工培训、对

pss123er的专栏 303

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

iOS 委托和协议区别和联系

iOS上的协议类似于C#、Java上面的接口,他是从类中抽出来的一系列方法,但方法的实现是在实现这个协议的类中,任何实现这个协议的类都需要实现协议类中的@require方法; 委托是一种设计模式,是一种设计思想。 但是在iOS上面委托经常依托协议来实现(但并不是必须的)。一个很好的例子就是老板和秘书:老板要经营企业需要对新员工培训、对公司管理、打电话、发薪水等工作,但是对应老板来说一些事情例如...

weixin_34194702的博客 93

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

IOS 委托和协议区别和联系 (=)

上一片大致说了一下IOS上面委托和协议的区别和联系,并且举了一个简单的例子,但是例子比较简单,今天做一个用委托模拟button回调的例子。 在一个自定义View上面放一个登陆按钮,并且这个LoginView里面有一个实现ILogin的委托对象,在登陆按钮的点击事件中调用需要实现的协议函数。在一个ViewController中实现ILgin协议,并实现login方法。将自定义LoginView

执迷的博客 647

​ IOS 委托和协议区别和联系 (=)

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_34054866的博客 105

iOS中的协议与委托

来源:http://blog.youkuaiyun.com/zhuiyi316/article/details/7818149 协议就相当于是C++中的纯虚基类,它只能定义函数并且只能由其他类来实现。而委托则类似于Java接口,其实协议和委托之间并无必然联系,只是在Obj—C中常用协议来实现委托。         protocol-协议,就是使用了这个协议后就要按照这个协议来办事,协议

不积跬步,无以至千里;不积小流,无以成江海 706

详解Objective-C中委托和协议

Objective-C中委托和协议是本文要介绍的内容,委托和协议是两个概念,协议实际上相当于C++中的纯虚类的概念,只定义并只能由其它类来实现。而委托类似于Java中的接口。(Objective-C实现委托这种机制是利用协议来实现的,这种说法我现在认为是不对的,理由下述:)。 Objective-C委托和协议本没有任何关系,协议如前所述,就是起到C++中纯虚类的作用,对于“委托”则和协议没有

BSPLover的专栏 1107
上一篇: ios 转场动画
下一篇: NSSortDescriptor 的使用-------快速排序
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值