oc中的设计模式

oc中的设计模式有

  • 首先单例模式:在程序运行过程中初始化,并且单例的初始化只执行一次,其生命周期为单例对象初始化开始到程序结束。其初始化放法有2种如下图
    这里写图片描述
    系统中常见的单例有
//沙盒初始化
NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
//通知初始化
[NSNotificationCenter defaultCenter];
  • KVC(键值编码 key value coding)其主要作用是将字符串与model对应起来,可以将json字符串转换成model其使用的方法如下图:
    这里写图片描述
    如果有一个对象book是另外一个对象person的属性的时候,为book中的一个属性name赋值。
    这里写图片描述

  • KVO(观察者模式)这个模式是对某一变量进行监听,当事件发生的时候调用对用的时间处理方法,对事件进行处理,在处理结束后需要在dealloc 方法中进行移除。kvo模式下一般分为3步:

    1. 注册监听器
    2. 实现监听事件
    3. 移除监听
      对应代码如下:注册监听
      这里写图片描述
      事件处理
      这里写图片描述
      移除监听
      这里写图片描述
  • 发送通知(NSNotificationCenter)发送通知与KVO模式唯一的不同就是在于(NSNotificationCenter)需要发送通知。其实现流程为:
    注册监听
    这里写图片描述
    发送消息
    这里写图片描述
    处理消息事件
    这里写图片描述
    移除监听
    这里写图片描述

  • 委托(代理)模式:该模式与发送消息类似,只是代理一般用于上下2层之间的通信,而通知则不限于附近的2层,其可以跨越多层完成消息的传播完成通信,关键字为:@protocol ,@required 必须实现@optional选择实现
    下面是代理的流程:
    这里写图片描述

    v1与v2 签订协议
    v1
    这里写图片描述
    v2
    这里写图片描述
    这里的delegate使用leassign修饰,避免循环引用
    v1委托V2做代码 ,v2 开始做
    这里写图片描述
    v2调用方法处理
    这里写图片描述
    v2处理结束 告知v1 已经处理结束
    这里写图片描述
    v1得知v2的完成消息后做出相应的处理
    这里写图片描述

  • 还有就是有一个[NSUserDefaults standardUserDefaults] (沙盒)可以储存数据量不是很大的数据,比如可以存放登陆用户的名字密码等等。

最后如果此处有什么模式漏掉了,请各位大牛指出,共同学习,共同进步,谢谢大牛些了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值