OC协议的应用-代理

iOS UIWebView和WKWebView的JS调用详解 一般应用开发,用到webview和JS交互的地方特别多,当然也有很多优秀的第三方可以使用,例如:WebViewJavascriptBridge,有兴趣的可以研究下,非常好用的一个框架,本文主要概括下苹果提供的原声控件和JS互相简单调用。webview以及WKWebView。      iOS8.0之前,苹果只提供UIwebview一个控件,这个控件JS调用OC主要通过UIwebview的代理方法 阅读详情

        先说下代理模式是什么吧


        定义: 为其他对象提供一种代理以控制对这个对象的访问。在某些情况下,一个对象不适合或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。



       这么说是不是不能理解,通俗的讲,就是一些任务自己不去实现,想让别人去实现的时候,就可以指定一个代理,让代理帮你去做。你只需要通知代理去做某某事。

        下面举一个例子:肖野老师想去看一场电影, 可是他不能亲自去买票,  至于为什么, 可能是因为他要去练车, 约会没时间, 或者单纯的懒, 正好野哥在课上抓到了班长正在玩手机, 于是将这个任务委托给了班长。

        这时,可以定义一个teacher类(野哥),一个monitor类(代理类),monitor类帮助teacher类去买票或者问票价 并且返回消息 给teacher这样的话teacher只需要 调用 monitor就可以获得自己想要的消息 非常方便。

        下面看一下代码:
Teacher.h

声明协议,定义协议方法:询问电影名字,返回NSString类型数据,询问票价,返回NSInteger类型数据,
定义代理属性,为id类型,遵循TeacherDelegate协议, 只要遵循TeacherDelegate协议,都可以成为代理

Monitor.h

在NSObject后加上<TeacherDelegate>m, 表明班长类遵循协议,可以成为代理,可以调用协议里的所有方法
Monitor.m

协议里方法的实现;

下面在main.m里进行验证:

定义一个老师对象肖老师及班长对象,将班长设置为老师的代理,最后肖老师调用buyTicket方法成功问到了电影名及票价,去看了最爱看的喜羊羊

k8s 查看cpu使用率最高的pod 在 Kubernetes 中,可以使用命令查看 Pod 的资源使用情况,从而找到 CPU 使用率最高的 Pod。 阅读详情

相关推荐

告别F5失灵!手把手教你为Cursor配置.Net Core控制台项目专属调试环境

本文详细指导如何在Cursor编辑器中为.Net Core控制台项目配置专属调试环境,解决F5失灵等常见问题。从调试器选择到launch.json配置,再到高级调试技巧,帮助开发者高效搭建完整的调试工具链,提升开发效率。

weixin_28834765的博客 285

OC中代理的定义和使用

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

weixin_34253126的博客 767

别再只用GPS了!用Android手机传感器实现室内步行轨迹记录(避坑指南)

本文详细介绍了如何利用Android手机传感器(如加速度计、陀螺仪和磁力计)实现室内步行轨迹记录,克服GPS在室内的局限性。通过传感器数据采集、步态检测、航向估计和轨迹绘制等步骤,结合避坑指南和优化技巧,帮助开发者高效构建室内定位应用。

weixin_26821003的博客 274

OC中的代理设计模式

1,代理模式的概念 传入的对象,代替当前的类完成了某个功能,我们称之为代理模式。在OC中,代理设计模式是经常遇到的一种设计模式。 2,实现代理设计模式思路和步骤 1,定义一个协议(写在外面或者里面随便)并声明代理类需要实现的方法列表。 2,创建一个代理类,并遵守上面的协议。 3,在需要被代理的类中定义一个对象类型为ID并且遵守代理协议的成员变量。 4,在被代理的类中调用上面的成

Yuzee的博客 2659

保姆级教程:用Python脚本一键把选股结果导入通达信自选股(附完整代码)

本文提供了一份详细的Python自动化教程,教你如何将选股结果一键导入通达信自选股。通过解析通达信文件结构、编写Python脚本实现股票代码转换和批量导入,大幅提升量化交易效率。教程包含完整代码示例,特别适合使用通达信(TDX)的投资者和量化交易开发者。

weixin_30915951的博客 358

Windows平台MuJoCo仿真环境配置与Qt集成实战

本文详细介绍了在Windows平台上配置MuJoCo物理仿真环境并与Qt框架集成的完整实战流程。内容涵盖从环境准备、库文件配置、项目创建到核心代码编写的每一步,重点解决了Windows下常见的编译链接错误和路径问题,帮助开发者在Windows系统中高效搭建机器人仿真与可视化控制开发环境。

weixin_29221753的博客 170

ios中关于delegate(委托)的使用心得

从开始从事OC工作到现在大概1年多了,从当初接触oc的"协议"的不明白,到现在代码中随处可见的委托,协议,其中感悟颇多。 首先,大家应该都明白的是委托是协议的一种,顾名思义,就是委托他人帮自己去做什么事。也就是当自己做什么事情不方便的时候,就可以建立一个委托,这样就可以委托他人帮自己去实现什么方法。 其次,我简单的总结了一下自己用到的委托的作用有两个,一个是传值,一个是传事件。

huifeidexin_1的专栏 14万+

ADS2023仿真变容二极管特性

仿真S-Param仿真控件,设置为Single Point,将频率设置为1MHz,同时勾选Z-parameters,取消S-parameters,从元件库中选择元器件搭建原理图,并根据器件spice提供的相关参数,对原理图中器件参数进行修改,修改完成的电路图如下图所示。添加var控件和MeasEqn控件,相关设置如图所示,Ct为变容管的电容值,Q0为其品质因数。因此,对变容二极管的模型仿真结果是可以信赖的。将其解压,在spice文件夹中,可以找到我们想要的器件参数,和仿真简要电路图。

weixin_45811090的博客 1万+

OC协议应用之代理者模式

1、代理简介:代理就是委托别的对象为自己做事情,首先此对象要给别的对象发送消息,即调用别的对象中的成员方法,别的对象根据此对象发送的消息处理后返回一个处理结果给此对象即消息反馈。 2、代理类的执行过程 (1)一般情况下:一个类委托别的类为自己做事情,是直接将代理类的对象作为自身成员(直接用@property为其设置set/get方法),然后在自己的成员方法中直接调用代理类的成员方法进行实现。

785

企业级 Token 中转架构设计:高并发、多模型、费用监控一次搞定

摘要:本文针对企业级AI开发中的多模型接口混乱、高并发稳定性差及Token费用失控等痛点,提出一套2026年企业级Token中转架构解决方案。该方案采用五层分层设计(接入层、网关层、调度层、服务层、存储层),实现多模型统一接口、智能路由、高并发限流容错及精细化成本监控。核心功能包括:异构模型标准化接入、动态路由策略(场景/成本/负载/容灾)、多级限流熔断机制、全链路Token计费与安全防封体系(指纹清洗、IP池隔离)。通过分层解耦与模块化设计,企业可降低50%成本、提升99%稳定性,并避免封号风险。文章还提

远程部署调试 运行安装 项目调试 二次开发 项目技术新 持续迭代 部分源码免费分享 145

STM32 使用IQmath实现SVPWM

文章目录SVPWMIQMATHIQmathLib测试部分程序附件 SVPWM SVPWM是空间矢量脉宽调制(Space Vector Pulse Width Modulation)的简称,通常由三相逆变器的六个功率开关管组成,经过特定的时序和换相所所产生的脉冲宽度调制波,最终输出的波形可能会十分接近理想的正弦波形。 具体如下图所示;左侧为复平面,即空间矢量,右侧为时域的正弦波形; 关于SVPWM原理的文章非常多,这里可以推荐一下网上一个非常不错的教程《SVPWM的原理及法则推导和控制算法详解第五修改版》,

一名热爱技术的工程师的博客。分享技术干货,记录美好生活。永远相信美好的事情即将发生。 2万+

iOS开发篇——OC 协议和代理设计模式介绍

蓝鸥iOS培训讲师推荐:好久没和大家沟通了,没和大家沟通了,今天就和大家说说有关OC内容协议和代理设计模式。首先要讲的是协议一、协议OC中的协议和接口有些相似,协议中定义的方法,在类中实现。协议一般情况下是用来实现委托对象。委托对象一般用来自己定义行为或者动作,也就是调用自己定义方法,不过自己不实现该方法,委托其它的类来实现该方法。1、协议的声明:HelloProtocol....

weixin_33966365的博客 166

YOLOv13改进策略【Backbone/轻量化】| 替换骨干网络 CVPR-2024 StarNet,超级精简高效的轻量化模块

本文记录的是。StarNet设计简洁,没有复杂的设计和精细调整的超参数,仅是一个 4 阶段的分层架构。并且其中能够在低维空间计算的同时考虑极高维的特征这一特性,进而提高模型精度。本文在替换骨干网络中配置了原论文中的starnet_s1starnet_s2starnet_s3和starnet_s4七种模型,以满足不同的需求。

Limiiiing的博客 669

【OC语法】代理模式的介绍(运用到多态、id类型作为方法的参数的知识点)

这篇文章我们就来介绍一下OC中的代理模式,关于代理模式,如果还有同学不太清楚的话,就自己去补充知识了,这里就不做介绍了,这里只介绍OC中是如何实现代理模式的。 这里举一个简单的例子: 小孩类,护士类,保姆类,其中小孩类有两个方法:wash和play 这里代理对象就是:护士类、保姆类,小孩类是被代理对象。 看一下代码: 首先看一下小孩类: Children.h

iOS_houyimin的博客 518

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

OC简单实现代理

OC 代理机制 其实代理机制就是C语言中的回调函数。即将通过函数指针来调用函数。A类需要调用B类中的函数,则B类需要提供回调函数来供A类来调用。 场景:A要委托B买电影票。 声明A类: 拥有一个代理属性。告诉代理需要做什么。 定义一个协议C: 让代理来遵守的协议。(一些方法的声明) 声明B类: 实现协议里的方法。 代码实例: 声明一个Person类(场景中的A类)

goodboy_wkx的专栏 1061

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

OC_protocol协议介绍(2)

1 protocol代理设计模式引入 代理模式在OC中经常遇到的一种设计模式,那什么叫做代理模式呢?举个例子:有一个婴儿,本身不会吃饭和洗澡等等一些事情,于是婴儿就请了一个保姆,于是婴儿和保姆之间商定了一个协议,协议中写明了保姆需要做什么事情,而保姆是这个代理人,即:婴儿和保姆之间有个协议,保姆遵守该协议,于是保姆就需要实现该协议中的条款称为代理人。 2 protocol代理设计模式概

jiangminyan的博客 511

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

iOS设计模式学习 (二) OC协议之接口继承和代理设计

大多数情况下我们在说Objective-C 的协议protocol时,我们首先想到的都是iOS中的重要设计模式——代理设计模式。在前面一节的学习中已经说到了代理设计模式,这儿就只简单的说一下:在代理设计模式中,我们使用到的都是协议的接口方法,协议定义了对象间的访问接口规则。但是,其实协议同样拥有属性,这就涉及到下面我们要说的接口继承。所谓接口继承,学过C++的应该都知道抽象类,其实通过继承抽象类,然

SakuraBurial的专栏 921

OC中的代理模式

OC中的代理模式,关于代理模式,如果还有同学不太清楚的话,就自己去补充知识了,这里就不做介绍了,这里只介绍OC中是如何实现代理模式的。这里举一个简单的例子:小孩类,护士类,保姆类,其中小孩类有两个方法:wash和play这里代理对象就是:护士类、保姆类,小孩类是被代理对象。看一下代码:首先看一下小孩类:Children.h[objc]view plaincopy 1. // 2. //...

weixin_30586085的博客 116

IOS OC获取jS中的点击事件方法

三片比较详细的OC与JS的文章 http://blog.youkuaiyun.com/lwjok2007/article/details/47058795 http://www.skyfox.org/javascript-ios-navive-message.html http://www.bkjia.com/IOSjc/970922.html IOS OC获取jS中的点击事件方法 1. ...

robinson_911的专栏 7343

UIWebView和网页的交互(JS中调用OC代码)

UIWebView和网页的交互(JS中调用OC代码)实现

ITcontend的专栏 1214

OC面试题[搜集]

浅复制和深复制的区别?//浅拷贝和深拷贝 答案: 浅层复制(copy):只复制指向对象的指针,而不复制引用对象本身。//通过对象的指针来访问这个对象 深层复制(mutableCopy):复制引用对象本身 意思就是有个A对象,复制一份后得到A_copy对象后,对于浅复制来说,A和A_copy指向的是同一个内存资源,复制的只不过是是一个指针,对象本身资源 还是只有一份,那如果我们对A_cop

学无止境的专栏 1989

OC 知识点回顾

/* 字符串: NSString不可变字符串字符串对象的内容不能修改,字符串的指针可以改变 NSMutableString可变字符串可以修改字符串对象的内容,继承自NSString,具有所有的方法 */ 1.创建对象,实例方法和类方法 NSMutableString*mStr=[[NSMutableStringalloc]initWit...

weixin_34007886的博客 209

黑马程序员———OC学习第六天(block和协议)

1223131

sun8_gao的专栏 343

iOS UI 03 协议代理

// //  RootViewController.m //  ui - 04 协议代理!! // //  Created by dllo on 15/11/11. //  Copyright (c) 2015年 dllo. All rights reserved. // #import "RootViewController.h" #i

揽月清风 291

PIC18F66K40通过I2C扩展16路I/O:NCA6416BYHP实战指南

在嵌入式系统设计中,I2C总线是一种广泛使用的串行通信协议,用于连接微控制器与外围设备。其原理基于两线制(SDA和SCL)实现主从设备间的数据传输,具有引脚少、协议简单、支持多设备等优势。在工业控制、楼宇自动化和仪器仪表等领域,I2C总线常用于扩展I/O、连接传感器和存储器等。通过I2C扩展I/O,可以显著提升主控MCU的引脚利用率,降低系统成本,并增强扩展性。本文以PIC18F66K40和NCA6416BYHP为例,详细介绍了硬件连接、寄存器配置、读写时序及中断处理,并分享了实际项目中的调试技巧和性能评估

weixin_34357928的博客 97

设置代理的步骤

设置代理的几个步骤 (1)如果一个视图中的某个按钮被点击了,这个时候需要去主控制器中刷新数据。有一种做法是,让这个视图拥有控制器这个属性,然后当按钮被点击的时候去利用该属性去做刷新数据的操作。另一种做法是把控制器设置为这个视图的代理,当视图中的某个按钮被点击的时候,通知它的代理(主控制器)去干刷新数据这件事。 (2)要成为代理是由条件的,有以下几个步骤 1).双方约定一个协议(代理协议,注意...

weixin_30381793的博客 132
下一篇: cocoaPods的安装及简单用法
LoveSora
博客等级 码龄11年 5粉丝 2原创
评论 4
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值