先引入 手机适配器的 概念

比如,中国的输出电压为220v,日本的为100v,如果中国的手机拿到日本充电,那么就不能用原来的充电器了。

那么,怎么解决这个问题呢?

1,苹果的手机适配器(充电器),苹果的手机适配器,不管到全球哪个国家,都可以用。我举这个例子,是为了说明第一种模式,这个在下面的代码实例中会说明

2,针对某一种手机的适配器,换特定电压的适配器,第二种模式

3,每一种手机只有一个特定的适配器,第三种模式

那么,我们从第三种模式开始说起,

即直接赋值模式

这种模式的不好之处在于,增加了数据和视图之间的耦合度,对于复杂的开发增加了修改的难度

那么,我们进入到第二种模式,即建立一个类的子类赋值

加载数据的父类  由id变为模型类Model

但是,如果有两个类,在使用同样的data,就不能用单一类作为父类了,这时就要用到第三种模式

第三种方法

转载于:https://www.cnblogs.com/adodo/p/5208403.html

iOS学习笔记15-设计模式之 适配器模式相关推荐

  1. iOS学习笔记15 序列化、偏好设置和归档

    ###一.本地持久化 所谓的持久化,就是将数据保存到硬盘中,使得在应用程序或机器重启后可以继续访问之前保存的数据.在iOS开发中,有很多数据持久化的方案,接下来我将尝试着介绍一下5种方案: plist ...

  2. IOS学习笔记 ---- 15/09/02

    1.三种方式监听方式: addTarget方法: 使用代理方法: [[NSNotificationCenter defaultCenter] addObserver]方法监听通知: 2.在storyb ...

  3. OpenCV for Ios 学习笔记(4)-标记检测1

    本文原始地址:OpenCV for Ios 学习笔记(4)-标记检测1 简单的标记经常是以白色块和黑色块构成的规则图形.因为我们预先知道这些因素,所以我们可以很容易检测标记. 如图: 首先,我们需要找 ...

  4. IOS学习笔记(九)之UIAlertView(警告视图)和UIActionSheet(操作表视图)基本概念和使用方法...

    IOS学习笔记(九)之UIAlertView(警告视图)和UIActionSheet(操作表视图)基本概念和使用方法 Author:hmjiangqq Email:jiangqqlmj@163.com ...

  5. IOS学习笔记(四)之UITextField和UITextView控件学习

    IOS学习笔记(四)之UITextField和UITextView控件学习(博客地址:http://blog.csdn.net/developer_jiangqq) Author:hmjiangqq ...

  6. Hadoop学习笔记—15.HBase框架学习(基础知识篇)

    Hadoop学习笔记-15.HBase框架学习(基础知识篇) HBase是Apache Hadoop的数据库,能够对大型数据提供随机.实时的读写访问.HBase的目标是存储并处理大型的数据.HBase ...

  7. iOS学习笔记-自己动手写RESideMenu

    代码地址如下: http://www.demodashi.com/demo/11683.html 很多app都实现了类似RESideMenu的效果,RESideMenu是Github上面一个stars ...

  8. iOS学习笔记-地图MapKit入门

    代码地址如下: http://www.demodashi.com/demo/11682.html 这篇文章还是翻译自raywenderlich,用Objective-C改写了代码.没有逐字翻译,如有错 ...

  9. iOS学习笔记-自定义过渡动画

    代码地址如下: http://www.demodashi.com/demo/11678.html 这篇笔记翻译自raywenderlick网站的过渡动画的一篇文章,原文用的swift,由于考虑到swi ...

  10. IOS学习笔记07---C语言函数-scanf函数

    2013/8/7 IOS学习笔记07---C语言函数-scanf函数 ------------------------------ qq交流群:创梦技术交流群:251572072            ...

最新文章

  1. 使用Python、OpenCV计算轮廓的中心
  2. 技术网站 --人人都是产品经理
  3. 如何修改计算机网络时间,在Win7系统中,电脑时间改不了怎么办?
  4. Java中创建对象的5种方式 -[转] http://www.codeceo.com/article/5-ways-java-create-object.html...
  5. C# 之 Math取整
  6. LeetCode 164. 最大间距
  7. 【强烈推荐】如何解决JQuery类Post方式的跨域问题 - 空山雪林通用模块设计工作室 - ITeye技术网站...
  8. Python图像纹理分割
  9. php环境搭建(php5.5.8+apache2.4)
  10. win10无线网 服务器,win10专业版wifi变成地球怎么办_win10 wifi图标变成小地球无法连接网络如何解决...
  11. 常用向量相似度衡量指标
  12. Everything 离线搜索功能详解 – 再也不怕找不到文件!
  13. 学习阶段路线已备好,Python入门—进阶—爬虫—算法,带你进阶
  14. 30岁的程序员......
  15. android p三星,索尼XZ3新机采用Android P系统,对标三星note9,网友:外观
  16. RegExp——正则表达式
  17. 解密Kotlin 1.6.20 新功能 Context Receivers
  18. 如何在计算机上注销一个用户登录,如何取消Microsoft账户登录电脑
  19. 详细介绍zip、rar、7z的不同以及优势
  20. ASP.Net 实现伪静态方法及意义

热门文章

  1. 排序算法:堆排序算法实现及分析
  2. c# 轻量级ORM框架 实现(一)
  3. ios 10.3 汉字的中划线
  4. sql server 触发器应用 insert
  5. windows下面使用nssm设置新的服务实现开机自启等
  6. 通过Small Basic把儿子/女儿带入编程的世界
  7. HDU 4336 概率DP 状压
  8. GIT的 .gitignore 配置
  9. [label][JavaScript]七个JavaScript技巧
  10. libxml2编译错误问题