iOS设计模式之代理模式
2023-09-14 08:57:54 时间
远程代理:就是为一个对象在不同的地址空间提供据不代表。这样可以隐藏一个对象存在于不同地址空间的事实。
虚拟代理:是根据需要创建开销很大的对象,通过它来存放实例化需要很长时间的真实对象。
安全代理:用来控制真实对象访问时的权限。
*智能指引:是指当调用真实的对象时,代理处理另外一些事。
*智能指引:是指当调用真实的对象时,代理处理另外一些事。
ChildViewCongroller.h
// // ChildViewController.h // DelegateDemo // // Created by zhanggui on 15/8/6. // Copyright (c) 2015年 zhanggui. All rights reserved. // #import UIKit/UIKit.h @protocol ChildDelegate NSObject -(void)changeColor:(UIColor *)color; @end @interface ChildViewController : UIViewController @property(assign,nonatomic)id ChildDelegate ChildDelegate; @end
ChildVIewController.m
// // ChildViewController.m // DelegateDemo // // Created by zhanggui on 15/8/6. // Copyright (c) 2015年 zhanggui. All rights reserved. // #import "ChildViewController.h" @interface ChildViewController () @end @implementation ChildViewController - (void)viewDidLoad { [super viewDidLoad]; self.view.backgroundColor = [UIColor whiteColor]; UIButton *button = [[UIButton alloc] initWithFrame:CGRectMake(0, 100, 200, 50)]; [button addTarget:self action:@selector(show) forControlEvents:UIControlEventTouchUpInside]; // button.backgroundColor = [UIColor redColor]; [button setTitleColor:[UIColor blackColor] forState:UIControlStateNormal]; [button setTitle:@"返回调用代理" forState:UIControlStateNormal]; [self.view addSubview:button]; -(void)show { [_ChildDelegate changeColor:[UIColor redColor]]; [self.navigationController popToRootViewControllerAnimated:YES]; @end
在一个ViewController中去push出来ChildViewController。点击ChildViewController中的按钮改变根视图的背景色
ViewController.h
// // ViewController.h // DelegateDemo // // Created by zhanggui on 15/8/6. // Copyright (c) 2015年 zhanggui. All rights reserved. // #import UIKit/UIKit.h #import "ChildViewController.h" @interface ViewController : UIViewController ChildDelegate
淘宝iOS扫一扫架构升级 - 设计模式的应用 本文在“扫一扫功能的不断迭代,基于设计模式的基本原则,逐步采用设计模式思想进行代码和架构优化”的背景下,对设计模式在扫一扫中新的应用进行了总结。
1.外观模式简介 外观模式(Facade)在开发过程中的运用频率非常高,尤其是在现阶段各种第三方SDK充斥在我们的周边,而这些SDK很大概率会使用外观模式。
模型-视图-控制器(Model-View-Controller,MVC)是Xerox PARC在20世纪80年代为编程语言Smalltalk-80发明的一种软件设计模式,至今已广泛应用于用户交互应用程序中。
建议45:设计模式是特定环境下的特定问题的解决方案 设计模式是某种特定设计的模板或指导原则。 建议46:MVC模式是一种复合或聚合模式 MVC 是一种高级别的模式,关注的是应用程序的全局架构,并根据各种对象在程序中发挥的作用对其进行分类。
相关文章
- IOS系统平刷工具Semi-Restore使用教程
- iOS小技能:授权检测(引导权限开启,监听权限变化执行回调事件。)
- iOS 小技能: Responder Chain(响应者链)【上篇】
- IOS快捷指令爱快路由POST模拟远程开机
- 备份从android到ios系统文件,如何将音乐从安卓设备转移到iOS设备中「建议收藏」
- iOS证书(.p12)和描述文件(.mobileprovision)申请
- iOS AppStore上架流程图文详解2021版 (上)
- IM通讯协议专题学习(九):手把手教你如何在iOS上从零使用Protobuf
- HBuilder X 连接苹果手机(IOS)详细教程。Windows: 连接iOS手机调试项目
- 【IOS实用玩机技巧】爱思助手 IPA 签名功能常见问题汇总(iOS上架)
- iOS描述文件(.mobileprovision)一键申请
- APP Uploader-iOS APP上架到App Store的辅助工具
- 【iOS 开发】iOS 开发 简介 (IOS项目文件 | MVC 模式 | 事件响应机制 | Storyboard 控制界面 | 代码控制界面 | Retina 屏幕图片适配)
- IOS 上传IPA到AppStore
- AnyTrans for iOS for mac(ios数据传输管理工具)
- iOS网络编程使用代理方法 , 简化请求和响应详解手机开发
- iOS开发的手势识别(UIGestureRecognizer)详解手机开发
- iOS关键组件iBoot源代码泄露详解手机开发
- iOS如何实现多个环境一次打包详解手机开发
- iOS—-调试技巧,让你的开发事半功倍详解手机开发
- iOS开发——高级技术&iCloud服务详解手机开发
- ios基础:iOS改变状态栏字体颜色详解手机开发
- Linux下开发iOS应用:挑战还是机会?(linux做ios开发)
- MacOS 与 iOS:由浅入深的连接(macos和ios)
- 操作系统开启iOS时代:Linux操作系统的新篇章(ios是linux)
- 在iOS上安装Linux系统的挑战(ios上安装linux)
- 平台开发iOS开发:基于Linux平台的世界(ios基于linux)
- iOS 不是 Linux,而是苹果独特操作系统(ios是linux吗)
- 把 Linux 安装到 iOS 设备上的步骤(ios安装linux)
- 应用Linux上编译IOS应用:实现跨平台体验(linux编译ios)
- iOS开发与Linux的技术融合(ios开发linux)
- 移动端iOS技术实现Oracle数据库连接(ios联接oracle)
- iOS让Oracle无处不在(ios支持oracle么)