代理(delegate)设计模式

本文介绍了代理设计模式的核心思想和在iOS开发中的应用。通过模拟系统交互缩放视图的过程,详细阐述了如何使用协议和代理来实现解耦。文章包括协议的定义、代理属性的设置、以及视图控制器作为代理的实现步骤,最后解释了代理属性为何通常是弱引用。
摘要由CSDN通过智能技术生成

代理设计模式

知识点掌握

  • 什么是设计模式
  • 代理设计模式的作用
  • 掌握 iOS 开发中,代理设计模式的工作原理和代码实现

什么是设计模式

  • 设计模式的产生是在无数份代码的经验累积下产生的
  • 每一个设计模式用于解决一种问题
  • 在软件工程中,设计模式(design pattern)是对软件设计中普遍存在(反复出现)的各种问题,所提出的解决方案
  • 设计模式并不直接用来完成代码的编写,而是描述在各种不同情况下,要怎么解决问题的一种方案
  • 面向对象设计模式通常以类或对象来描述其中的关系和相互作用,但不涉及用来完成应用程序的特定类或对象

代理设计模式

  • 代理设计模式的核心就是“解耦”

代理设计模式的代码实现

目标

  • 伪代码的方式体验代理设计模式的工作原理和 iOS 中代理设计模式的编写方法
  • 模拟目标:缩放视图

准备工作

  • 新建项目
  • 新建视图 CZScrollView 继承自 UIView 模拟滚动视图
/// 模拟 ScrollView
@interface CZScrollView : UIView

@end
  • CZScrollView 实现以下代码,当用户创建视图时,调用 setupUI 方法设置界面
@implementation CZScrollView

- (instancetype)initWithFrame:(CGRect)frame {
    self = [super initWithFrame:frame];
    if (self) {
        [self setupUI];
    }
    return self;
}

#pragma mark - 设置界面
- (void)setupUI {

}

@end
  • ViewController 中导入头文件
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值