代理模式顾名思义就是委托别人去做事情。IOS中经常会遇到的两种情况:在cocoa框架中的Delegate模式与自定义的委托模式。下面分别举例说明一下:一、cocoa框架中的delegate模式在cocoa框架中的Delegate模式中,委托人往往是框架中的对象(视图中的控件、表视图神马的),代理人往...
原创
2021-07-28 16:05:55
240阅读
iOS 编程语言是 Objective-C, 简称 OC。 谈起 OC的特性,人们常说,OC 不支持多继承。但 Delegate 弥补了这个缺陷。 有了Delegate, 在声明对象时,可以使其遵循多个协议。 从而解决了多继承问题。 Delegate ,又称为 委托或代理, 它是一种设计模式。 学习iOS开发,需要深入理解 Del
委托(delegate)也叫代理是iOS开发中常用的设计模式。我们借助于protocol(参考博文:objective-c协议(protocol))可以很方便的实现这种设计模式。什么是代理?苹果的官方文档给了很清晰的解释:Delegation is a simple and powerful pat...
转载
2015-08-19 10:22:00
203阅读
2评论
设计模式的六大原则单一职责原则定义:不要存在多于一个导致类变更的原因。通俗的说,即一个类只负责一项职责问题由来:类T负责两个不同的职责:职责P1,职责P2。当由于职责P1需求发生改变而需要修改类T时,有可能会导致原本运行正常的职责P2功能发生故障。解决方案:遵循单一职责原则。分别建立两个类T1、T2,使T1完成职责P1功能,T2完成职责P2功能。这样,当修改类T1时,不会使职责P2发生故障风险;同
委托
委托,就是委托他人帮自己去做什么事。也就是当自己做什么事情不方便的时候,就可以建立一个委托,这样就可以委托他人帮自己去实现什么方法。 举例:这个周末放假有空,我想买个手机,所以我有个buyIphone 方法,但是我不知道谁能买手机,所以把这个需求发布出去(比如公布在网站上),如果有卖手
转载
2023-11-03 07:45:42
40阅读
# IOS Delegate
在iOS开发中,Delegate是一种常用的设计模式,它允许一个对象将一些任务或事件委托给另一个对象来处理。Delegate模式提供了一种方便和灵活的方式来实现对象之间的通信和交互。在这篇文章中,我们将探讨iOS中Delegate的使用方式以及如何在代码中实现。
## Delegate的定义
在iOS中,Delegate是一个协议(protocol),它定义了一
原创
2023-07-15 05:30:48
33阅读
很多人面试中都被或多或少问到一些内存管理相关的知识,说到内存管理在 ARC 环境下就避不开 assign、weak、strong、copy、mutableCopy 几个关键字。下面先结合案例浅谈一下几个关键字差异,再引入浅拷贝、单层深拷贝、深拷贝的概念,最后探索下深拷贝的实现。本文代码默认都是在 ARC 环境下。1. assign 与 weak 的区别下面代码有什么问题?@property (no
看了一篇大神总结的文章, 归纳出以下几点: Apple声明方法时有很好的命名习惯(这也是我们精通iOS开发的一项必备技能)。例如:一个以NSString为参数的方法,方法的selector就会有String字眼,像initWithString;dateFromString;StartSpeaingString。当Apple的方法使用blo
转载
2023-10-09 15:37:45
48阅读
规则,可以帮助在我们在自己的代码中做相同选择。 要找出Apple使用delegate的场景很简单,我们只要搜索官方文档中的“delegate”,就会获取到很多使用delegation的类。 但是搜索Apple中有关使用blocks的文档就有点困难了,因为我们不能直接搜索文档中的“^” 。然而,Apple声明方法时有很好的命名习惯(这也是我们精通iOS开发的一项必备技能)。例如:一个以NSStrin
有五种方式:delegate(代理)、block(代码块)、NSnotification(通知)、kvc(键-值编码)、kvo(键值观察模式)delegate概念:它是一种设计模式,是通过被代理者定义代理协议委托代理者实现协议,用于两个对象间的通信交互。在iIOS 中 delegate 主要用于视图与使用对象之间的通信交互,典型的特点就是它有返回值。用途:常用于传\赋值(如tableView中的委
转载
2023-09-30 23:37:17
79阅读
委派模式不是23种设计模式中的设计模式,它是比较常见的场景:老板-项目经理-开发
原创
2023-01-06 14:17:37
199阅读
之前对于iOS中的delegate一直都是半知半解,所以刚好趁着这个机会把我所了解的记下来,以便日后查阅。- delegate的理解delegate, 也就是代理模式(设计模式的一种),我现在所了解的代理模式是,当我有事要做但是没空的时候,我就可以请别人帮下忙,我告诉你我要做什么,但是具体怎么做,那是你的事了,就比如说,我想去约个妹纸出来玩,但是自己刚好现在有事不能约,或者自己不好意思约,这时候可
转载
2023-07-14 18:19:27
100阅读
首先来看看什么是delegate:举个例子:(来自http://mobile.51cto.com/iphone-283416.htm) protocol-协议,就是使用了这个协议后就要按照这个协议来办事,协议要求实现的方法就一定要实现。 delegate-委托,顾名思义就是委托别人办事,就是当一件事情发生后,自己不处理,让别人来处理。 当一个A view 里面包含了B view b view需要修
转载
2023-05-24 11:56:05
101阅读
文章目录
原创
2022-07-11 17:40:28
53阅读
(1)delegate解决对象对象间通信问题的关键:判断谁是代理对象,谁是被代理对象。
谁产生事件,就是被代理对象。被代理对象有一个delegate属性,并且在这个类里面定义一个protocol及其方法并且调用`,注意只是定义和调用,具体实现在下面的类里面。 定义的时候要注意用assign,如果用strong会出现内存泄漏:VC—>view—>tableView—>del
转载
2023-11-08 23:39:44
51阅读
转自:http://haoxiang.org/2011/08/ios-delegate-and-protocol/今天上班和同事讨论工程怎么组织的时候涉及到这个话题。iOS开发上对delegate使用广泛。记在这里,如果有新人Google到了,希望能有点帮助。protocol和delegate完全不是一回事,放在一起说,只是因为我们经常在同一个头文件里看到这两个word。protocol和java里interface的概念类似,是Objective-C语法的一部分。定义protocol如下@protocol ClassADelegate- (void)methodA;- (void)metho
转载
2014-01-28 17:13:00
147阅读
2评论
# iOS Delegate传值机制详解
在iOS开发中,Delegate是一种非常常用的设计模式,用于在一个对象中定义行为,然后在另一个对象中实现这些行为。Delegates不仅能够高效地传递信息,还可以减少对象之间的紧密耦合,从而提高代码的可读性和可维护性。本文将通过示例详细介绍iOS中的Delegate传值机制。
## 1. Delegate的基本概念
在iOS中,Delegate是一
# iOS Delegate 实现方法指南
作为一名iOS开发者,了解并实现delegate模式是至关重要的。Delegate模式是一种设计模式,它允许对象之间进行通信,而不需要知道对方的实现细节。在iOS开发中,delegate模式被广泛用于处理事件响应和数据传递。本文将指导你如何实现iOS中的delegate方法。
## 1. 理解Delegate模式
在开始实现delegate方法之前
# 如何实现“ios delegate为空”
## 概述
在iOS开发中,delegate是一种常见的设计模式,用于实现对象之间的通信和回调。当delegate为空时,可能会导致某些功能无法正常运行。本篇文章将教你如何处理这种情况。
### 流程图
```mermaid
sequenceDiagram
小白->>开发者: 请求帮助
开发者->>小白: 解释流程
小白->
# iOS 切换 Delegate 对象
在iOS开发中,代理(Delegate)是一个非常常见的设计模式,用于实现对象之间的通信。在许多情况下,我们需要动态切换代理对象,以适应不同的场景。本文将详细探讨如何在iOS中实现代理对象的切换,同时提供相关代码示例和可视化图表。
## 什么是 Delegate?
Delegate 是一种设计模式,它允许一个对象把它的一些职责委托给另一个对象。通过代