oc中的设计模式
来源:互联网 发布:python处理json字符串 编辑:程序博客网 时间:2024/05/19 18:15
oc中的设计模式有
- 首先单例模式:在程序运行过程中初始化,并且单例的初始化只执行一次,其生命周期为单例对象初始化开始到程序结束。其初始化放法有2种如下图
系统中常见的单例有
//沙盒初始化NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];//通知初始化[NSNotificationCenter defaultCenter];
KVC(键值编码 key value coding)其主要作用是将字符串与model对应起来,可以将json字符串转换成model其使用的方法如下图:
如果有一个对象book是另外一个对象person的属性的时候,为book中的一个属性name赋值。KVO(观察者模式)这个模式是对某一变量进行监听,当事件发生的时候调用对用的时间处理方法,对事件进行处理,在处理结束后需要在dealloc 方法中进行移除。kvo模式下一般分为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] (沙盒)可以储存数据量不是很大的数据,比如可以存放登陆用户的名字密码等等。
最后如果此处有什么模式漏掉了,请各位大牛指出,共同学习,共同进步,谢谢大牛些了。
- oc中的设计模式
- OC中的代理设计模式
- oc中的工厂设计模式
- OC中的设计模式-单例模式
- OC中的设计模式(代理设计模式)(类目)
- 【黑马程序员】oc中的单例设计模式
- 黑马程序员 OC中的单例设计模式
- OC设计模式
- OC设计模式
- OC-代理设计模式
- OC学习----设计模式
- OC设计模式浅析
- OC 设计模式
- OC 07 设计模式
- OC设计模式-委托模式
- OC学习——OC中的@protocol(@required、@optional)、代理设计模式
- OC---protocol代理设计模式
- OC 单例设计模式
- 根目录下各个文件夹的介绍
- 欧拉图算法
- hdu A Simple Game(1851)
- The huge demand of film faced plywood in the following 5 years
- centos 安装rar解压工具
- oc中的设计模式
- Scala讲座:类型系统和相关功能
- ArrayAdapter.add方法UnsupportedOperationException
- iOS 获取横竖屏的方法和问题
- Eclipse更新ADT较慢的解决方法
- DFS的时间戳应用
- iOS开发系列之常用自定义控件开发集—自定义状态栏消息提示控件开发
- myeclipse修改默认启动空间
- POJ 2533 Longest Ordered Subsequence (模版LIS)