`
fantom
  • 浏览: 141958 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

协议protocol

 
阅读更多
自定义协议语法如下:
@protocol 协议名称
方法之声明
@end
Objective-C2.0中协议的新特性:(1)@optional预编译指令:表示可以选择实现的方法(2)@required预编译指令:表示必须强制实现的方法。

例如:

@protocol FrameworkDelegate <NSObject>
@optional //可选的(正式协议) 有这个做标志
-(void)didReceiveCM:(Framework*)framework ChatMessage:(ChatMessage*)cm;
-(void)QUserArrived:(Framework*)framework AddressBook:(NSMutableArray*)ab;
//如果@optional 放在此处,表示上面2个方法内部必须实现,下面2个方法可选
-(void)AllUserArrived:(Framework*)framework AddressBook:(NSMutableArray*)ab;
-(void)ConversationListChanged:(Framework*)framework ConversationList:(NSMutableArray*)cl;
@end
协议(Protocol)的用法和代码例子
声明协议      采用协议     实现协议
协议,是通过网络,计算机使用者进行通讯后,互相进行约定规定的集合。两个类进行通讯,用协议就比较方便。
一、说明
  1.协议声明了可以被任何类实现的方法
  2.协议不是类,它是定义了一个其他对象可以实现的接口
  3.如果在某个类中实现了协议中的某个方法,也就是这个类实现了那个协议。
  4.协议经常用来实现委托对象。一个委托对象是一种用来协同或者代表其他对象的特殊对象。
  5:委托,就是调用自己定义方法,别的类来实现。
  6.新特性说明
    @optional预编译指令:表示可以选择实现的方法
    @required预编译指令:表示必须强制实现的方法

协议,OC 没有多继承,不过可以通过协议来委托或者叫代理



其实协议就相当于Java 中的interface 或者C++ 中的virtual class。
分享到:
评论

相关推荐

    协议Protocol.playground.zip

    这个“协议Protocol.playground.zip”文件显然是一个用于学习和实践Swift协议的代码示例。通过在Playgrounds中运行这个项目,我们可以深入理解如何使用协议来增强代码的灵活性、可扩展性和可复用性。 在Swift中,...

    数据通信-序列化协议 protocol json

    数据通信-序列化协议 protocol json 在数据通信中,序列化协议扮演着非常重要的角色。序列化协议是指将数据结构或对象转换成二进制串的过程,而反序列化则是将序列化后的二进制串反向还原成数据结构或者对象的过程...

    iOS之协议protocol

    在iOS开发中,协议(Protocol)是Objective-C和Swift编程中的一个重要概念,它定义了一组方法,这些方法可以被不同的类实现。协议主要用于类之间的通信,尤其在处理 delegate 模式时,它使得对象间能以一种灵活的...

    【转载】自定义URL Protocol 协议

    【自定义URL Protocol协议详解】 在计算机编程领域,URL(Uniform Resource Locator)是用于定位互联网资源的一种标准格式。默认情况下,我们常见的URL如"http://"、"ftp://"等,分别对应HTTP和FTP协议。然而,...

    ios-协议protocol

    在iOS开发中,协议(Protocol)是Objective-C和Swift编程中的一个重要概念,它定义了一组方法,但并不实现这些方法。类、结构体或枚举类型可以遵循一个或多个协议,从而实现多态性,这使得代码更加灵活和可扩展。...

    232协议 PROTOCOL FOR DASH DISPLAY INTERFACE WITH ALL AC CONTROLS

    PROTOCOL FOR DASH DISPLAY INTERFACE WITH ALL AC CONTROLS The serial communication interface is a standard NRZ (mark/space) format. The receive and transmit baud rate is 9600. Each byte of data ...

    拧紧枪 OP协议控制 OpenProtocol 开放式协议

    在IT行业中,拧紧枪OP协议控制OpenProtocol是一种专用于无线拧紧工具的开放式通信协议。这个协议的设计目的是为了高效、精确地控制和监控拧紧工具的运行状态,确保在汽车制造、航空航天和其他精密工程领域中的螺纹...

    urlprotocol协议设置

    在IT行业中,URLProtocol协议是一种自定义协议处理方式,它允许开发者扩展Windows系统对URL的解析功能,使得系统能够识别并处理自定义的协议类型,比如`myurl:`。这通常用于实现特定软件的内部链接或者集成不同应用...

    阿特拉斯拧紧机(Atlas)开放性协议 OpenProtocol_Specification_通讯.pdf

    根据提供的文档信息,本文将对阿特拉斯拧紧机(Atlas)开放性协议 OpenProtocol_Specification_通讯的相关知识点进行详细解析。 ### 一、引言 阿特拉斯拧紧机(Atlas)开放性协议(OpenProtocol_Specification_...

    Open Supervised Device Protocol (OSDP)协议

    Open Supervised Device Protocol (OSDP) 协议 Open Supervised Device Protocol (OSDP) 是一款门禁行业中的通信协议,旨在提供一种安全可靠的方式来连接和管理门禁设备。该协议由 Security Industry Association ...

    CX-Protocol协议宏操作手册(中文)

    CX-Protocol是一款由欧姆龙公司开发的协议通信软件,主要针对其PLC产品提供通信支持。CX-Protocol协议宏操作手册详细介绍了如何使用该协议与PLC进行数据交换以及通信序列的创建和编辑。本文将从手册内容中提炼出关于...

    CX-Protocol协议宏操作手册(中文)(带目录).pdf

    CX-Protocol是一款由OMRON公司开发的协议宏软件,主要用于实现个人计算机(PC)与OMRON系列PLC产品之间的通信功能。协议宏是一种用于在PLC与PC间进行高效数据通信的程序结构,它通过定义通信序列和报文属性,简化了...

    CX-protocol 协议宏中文操作手册

    ### CX-protocol 协议宏中文操作手册:深入解析与应用指南 #### 一、CX-protocol 协议宏概述 CX-protocol 是由欧姆龙(OMRON)开发的一款专业软件工具,主要应用于PLC(可编程逻辑控制器)与个人计算机之间的通信...

    BIP协议(Bearer Independent Protocol)

    ### BIP协议(Bearer Independent Protocol)关键知识点解析 #### 一、执行摘要 **BIP协议**(Bearer Independent Protocol)是一种新型的空中接口技术,它能够通过手机的高速数据通道如GPRS或3G等,将数据下载到...

    spring-boot-protocol:springboot功能扩展-netty动态协议,可以支持各种网络协议的动态切换(单端口支持多个网络协议)。支持mmap,sendfile零拷贝,http请求批量聚合

    用Netty实现的Spring-boot-protocol将springboot的WebServer更改为NettyTcpServer,为用户扩展了网络编程的能力。多协议服务器,Springboot协议扩展包,允许单端口提供多协议服务。其中内置多个网络传输(标准与规范...

    马头QF扳手协议 OpenProtocol-Specification - Release 1.3 - Rev 01 16091

    《马头QF扳手协议 OpenProtocol-Specification - Release 1.3 - Rev 01 16091》是针对马头扳手数据采集的一种通信协议规范,主要涉及如何通过串口进行有效、可靠的通讯。该文档旨在提供一个开放的、标准化的通信框架...

    Appendix for PowerFocus 6000 Open Protocol【阿塔拉斯开放协议】

    "阿塔拉斯开放协议_appendix_for_PowerFocus_6000_Open_Protocol" 阿塔拉斯开放协议是PowerFocus 6000的一个开放接口,允许用户在远程控制或数据订阅控制器时构建应用程序。该协议独立于平台,可以在Linux、PLC、...

    网络协议图 network protocol

    简单的网络协议图 network protocol

    Contact-ID Protocol协议中文版

    ### Contact-ID Protocol协议知识点 #### 一、协议概述 **Contact-ID Protocol** 是一款专为安防报警领域设计的通用通信协议。此协议由美国安定宝集团(ADEMCO Group)开发,旨在确保不同制造商生产的安防产品能够...

    OpenProtocol_Specification_.pdf

    《OpenProtocol_Specification_》是一份详细的技术规范文档,它主要介绍了PF4000开放协议Atlas以及OpenProtocol协议的报文格式和使用方法。PF4000是阿特拉斯·科普柯(Atlas Copco)工业技术公司推出的一套工业通讯...

Global site tag (gtag.js) - Google Analytics