委托(delegate)也叫代理是iOS开发中常用的设计模式。我们借助于protocol(参考博文:objective-c协议(protocol))可以很方便的实现这种设计模式。什么是代理?苹果的官方文档给了很清晰的解释:Delegation is a simple and powerful pat...
转载 2015-08-19 10:22:00
233阅读
2评论
设计模式的六大原则单一职责原则定义:不要存在多于一个导致类变更的原因。通俗的说,即一个类只负责一项职责问题由来:类T负责两个不同的职责:职责P1,职责P2。当由于职责P1需求发生改变而需要修改类T时,有可能会导致原本运行正常的职责P2功能发生故障。解决方案:遵循单一职责原则。分别建立两个类T1、T2,使T1完成职责P1功能,T2完成职责P2功能。这样,当修改类T1时,不会使职责P2发生故障风险;同
代理模式顾名思义就是委托别人去做事情。IOS中经常会遇到的两种情况:在cocoa框架中的Delegate模式与自定义的委托模式。下面分别举例说明一下:一、cocoa框架中的delegate模式在cocoa框架中的Delegate模式中,委托人往往是框架中的对象(视图中的控件、表视图神马的),代理人往...
原创 2021-07-28 16:05:55
265阅读
委派模式不是23种设计模式中的设计模式,它是比较常见的场景:老板-项目经理-开发
原创 2023-01-06 14:17:37
209阅读
文章目录
原创 2022-07-11 17:40:28
63阅读
iOS 编程语言是 Objective-C,   简称 OC。 谈起 OC的特性,人们常说,OC 不支持多继承。但 Delegate 弥补了这个缺陷。 有了Delegate, 在声明对象时,可以使其遵循多个协议。 从而解决了多继承问题。  Delegate ,又称为 委托或代理, 它是一种设计模式。  学习iOS开发,需要深入理解 Del
委派模式Delegate)这种模式的原理为类B和类A是两个互相没有任何关系的类,B具有和A一模一样的方法和属性;并且调用B中的方法,属性就是调用A中同名的方法和属性。B好像就是一个受A授权委托的中介。第三方的代码不需要知道A的存在,也不需要和A发生直接的联系,通过B就可以直接使用A的功能,这样既能够使用到A的各种公能,又能够很好的将A保护起来了。Demo...
原创 2021-09-11 11:29:21
784阅读
委派模式Delegate)这种模式的原理为类B和类A是两个互相没有任何关系的类,B具有和A一模一样的方法和属性;并且调用B中的方法,属性就是调用A中同名的方法和属性。B好像就是一个受A授权委托的中介。第三方的代码不需要知道A的存在,也不需要和A发生直接的联系,通过B就可以直接使用A的功能,这样既能够使用到A的各种公能,又能够很好的将A保护起来了。Demo...
原创 2022-03-09 10:37:50
149阅读
委托        委托,就是委托他人帮自己去做什么事。也就是当自己做什么事情不方便的时候,就可以建立一个委托,这样就可以委托他人帮自己去实现什么方法。      举例:这个周末放假有空,我想买个手机,所以我有个buyIphone 方法,但是我不知道谁能买手机,所以把这个需求发布出去(比如公布在网站上),如果有卖手
转载 2023-11-03 07:45:42
50阅读
# IOS DelegateiOS开发中,Delegate是一种常用的设计模式,它允许一个对象将一些任务或事件委托给另一个对象来处理。Delegate模式提供了一种方便和灵活的方式来实现对象之间的通信和交互。在这篇文章中,我们将探讨iOSDelegate的使用方式以及如何在代码中实现。 ## Delegate的定义 在iOS中,Delegate是一个协议(protocol),它定义了一
原创 2023-07-15 05:30:48
49阅读
看了一篇大神总结的文章, 归纳出以下几点:      Apple声明方法时有很好的命名习惯(这也是我们精通iOS开发的一项必备技能)。例如:一个以NSString为参数的方法,方法的selector就会有String字眼,像initWithString;dateFromString;StartSpeaingString。当Apple的方法使用blo
转载 2023-10-09 15:37:45
61阅读
很多人面试中都被或多或少问到一些内存管理相关的知识,说到内存管理在 ARC 环境下就避不开 assign、weak、strong、copy、mutableCopy 几个关键字。下面先结合案例浅谈一下几个关键字差异,再引入浅拷贝、单层深拷贝、深拷贝的概念,最后探索下深拷贝的实现。本文代码默认都是在 ARC 环境下。1. assign 与 weak 的区别下面代码有什么问题?@property (no
转载 2023-12-24 00:19:36
50阅读
规则,可以帮助在我们在自己的代码中做相同选择。 要找出Apple使用delegate的场景很简单,我们只要搜索官方文档中的“delegate”,就会获取到很多使用delegation的类。 但是搜索Apple中有关使用blocks的文档就有点困难了,因为我们不能直接搜索文档中的“^” 。然而,Apple声明方法时有很好的命名习惯(这也是我们精通iOS开发的一项必备技能)。例如:一个以NSStrin
转载 2023-11-18 18:28:09
62阅读
委派模式不属于GOF23种设计模式, 主要角色有三种: 抽象任务角色, 委派者角色, 具体任务角色。
# iOSDelegate与通知机制详解 在iOS开发中,Delegate和通知是一种常见的通信模式,帮助我们在不同对象之间传递信息。无论是在创建用户界面还是处理后台数据,它们都是非常实用的工具。本文将深入探讨这两种机制,并通过代码示例来阐释其用法和实际应用。 ## Delegate 机制 Delegate是一种对象间的通信方式,通常用于一个对象向另一个对象传递消息。在iOS中,Deleg
原创 7月前
36阅读
有五种方式:delegate(代理)、block(代码块)、NSnotification(通知)、kvc(键-值编码)、kvo(键值观察模式delegate概念:它是一种设计模式,是通过被代理者定义代理协议委托代理者实现协议,用于两个对象间的通信交互。在iIOS 中 delegate 主要用于视图与使用对象之间的通信交互,典型的特点就是它有返回值。用途:常用于传\赋值(如tableView中的委
有没有觉得你的 AppDelegate 太过庞大了?一个 iOS应用可能集成了大量的服务,第三方服务、推送服务等等,大多数服务功能彼此独立,想不想把它们彻底从 AppDelegate 中拆出来?AppDelegate 做了太多事AppDelegate 并不遵循单一功能原则,它要负责处理很多事情,如应用生命周期回调、远程推送、本地推送、应用跳转(HandleOpenURL);如果集成了第三方服务,大
iOS Delegate 接口的实现与应用 在 iOS 开发中,Delegate 模式是一种常用的设计模式,它允许一个对象将工作委托给另一个对象,从而实现松散耦合。本文将详细记录 iOS Delegate 接口的配置与应用过程,包括环境准备、集成步骤、配置详解、实战应用、性能优化及生态扩展等内容。 ## 环境准备 在开始之前,我们需要确保开发环境已准备好。以下是项目的依赖安装指南。 - 开
原创 6月前
84阅读
AppDelegate,类似于监听接口。 用个很简单的例子说:ios系统会控制每个程序的开始和结束。但是ios又不知道每个程序的开始需要运行成么代码,结束需要运行什么代码。这个时候,ios就制定了一个规则:如果你是我的代理程序,那么我在开始的时候就会运行你里面的– applicationDidFinishLaunching方法,我会在结束的时候运行你的– applicationWillTermin
# 使用 Java Lombok 实现委托模式 ## 引言 在软件开发中,设计模式是一种被广泛使用的工具,它们为我们提供了一种可以重复使用的解决方案,尤其是在面临经常出现问题的情况下。委托模式Delegate Pattern)是一种设计模式,它允许一个对象把某些任务委托给另一个对象来完成。在 Java 开发中,我们可以利用 Lombok 库的 `@Delegate` 注解来简化这个过程,使得
原创 8月前
77阅读
  • 1
  • 2
  • 3
  • 4
  • 5