首页 > 其他分享 >objective-c <>协议

objective-c <>协议

时间:2023-02-06 19:34:27浏览次数:48  
标签:协议 dosomething 实现 delegate objective 方法 类里


objective-c协议为不同的类提供公用的方法

协议定义了一组方法,而不提供具体实现。它定义了其它对象有责任实现的接口。当在自己的类中实现协议的方法时,用户的类就是遵守这个协议的,协议声明的方法可以被任何一个类实现。
通俗易懂地讲
你写了个类,你的这个类提供给我的类使用
我在我的类里初始化了你的类实例,那么好,你的方法我是可以调用的。
但是你的类会在达成某种条件的时候调用一个方法,这个方法你不知道要被谁实现,也无需你实现,你只是探出一个接口。
好吧,我会在按钮按下时调用这个方法,但是要做什么我不管,我也不知道,谁用的谁自己去实现。

那么,在你的类里定义协议

@protocol yourdelegate


-(void)dosomething

@end



定义id delegate属性
并在你按钮按下的方法里

[delegate dosomething];



我的类里使用你的协议
@interface 我的类:NSObject<yourdelegate>

并且在初始化你的类的时候, 你的类.delegate = self;
然后实现你的协议方法

-(void) dosomething

{做你想做的事

}

标签:协议,dosomething,实现,delegate,objective,方法,类里
From: https://blog.51cto.com/u_15955464/6040301

相关文章

  • 路由协议
    路由协议的意义:在互联网的世界中,夹杂着复杂的LAN和WAN,然而再复杂的网络结构,也需要通过合理的路由将数据发送到目标主机,而决定这个路由的正是路由控制模块和实现路由控制模......
  • 海康大华华为宇视等监控摄像头通过GB28181协议接入到LiveGBS流媒体平台如何给监控摄像
    监控摄像头、录像机或者平台通过GB28181协议接入到LiveGBS流媒体平台后,如果有加上特殊水印的需求,可以在通道配置里面自行配置。1、编辑通道LiveGBS管理页面->国标设备->......
  • LVDS的两种协议标准
    LVDS接口有两种协议标准 JEIDA8BITLVDSinput JEIDA6BITLVDSINPUT    VESA8BITLVDSinput  VESA6BITLVDSinput       ......
  • 通信协议-I2C
    一、IIC概述I2C(IntelInterfaceCircuit,简称IIC、I2C),是应用广泛的芯片间串行扩展总线。由飞利浦公司开发用于微控制器(MCU)和外围设备(从设备)进行通信的一种总线,属于一主多从......
  • Objective-C语法学习 第一天
    关于引用计数的内存管理1.内存管理必要性ARC是MacOSX10.7和iOS5引入的新特性,也是苹果公司推荐是用的内存管理方法。启用ARC后,编译器会在适当的地方自动加入retain,releas......
  • SSH协议中隧道与代理的用法测试
    一、测试拓扑eth1:10.1.1.100    eth0:192.168.211.130            eth0:192.168.211.138   eth1:20.1.1.200       ......
  • ssh远程登录协议和tcp
     SSH远程管理 SSH远程管理SSH解释:SSH(SecureShell)是一种安全通道协议,主要用来实现字符界面的远程登录、远程复制等功能。SSH协议对通......
  • netty对多协议进行编解码
    1、netty如何解析多协议前提:项目地址:https://gitee.com/q529075990qqcom/NB-IOT.git我们需要一个创建mavne项目,这个项目是我已经写好的项目,项目结构图如下:   ......
  • 从0写TCPIP协议栈3:以太网包的收发实现
    协议传输机制WEB服务器和客户计算机得交互过程简述如下:1、应用层协议栈软件将文件数据进行提取封装,并添加HTTP协议报头向传输层进行传输2、传输层协议栈软件在上层传递......
  • ensp :使用静态协议实现两台pc之间的通信
    实验描述实验操作配置好各个接口IP地址,然后以一个路由器为例,系统视图下进行IProute-static目的网段目的网段掩码出接口(接口名称)下一跳(IP地址)对于不和pc直连的路由器,记......