iOS 常见设计模式

2015-10-15  本文已影响80人  Joe的技术博客
  1. 单例模式
  2. 代理模式
  3. 观察者模式
  4. 工厂模式

单例模式

load: 当类加载到OC运行时环境中(内存), 掉会调用一次, 程序一起动就会调, 程序运行过程中只会调一次

如果类没有被引用进项目,就不会有load调用;但即使类文件被引用进来,但是没有使用,那么initialize也不会被调用。

使用NSOperation的子类方式有三种: (类似于GCD的任务)

  1. NSInvocationOperation
  2. NSBlockOperation
  3. 自定义类继承NSOperation, 实现内部方法

NSInvocationOperation的子类对象直接调用start, 不手动加入队列里面, 是在当前线程同步执行, 只有手动加入队列才会自动异步执行

NSBlockOperation不手动放入队列调用start 任务数量 > 1 才会异步并发执行(另外开线程)

[NSOperationQueue mainQueue] 主队列

队列最大并发数: 同时最多有多少个一起执行, 可以节省内存空间

NSOperationQueue里面的operaton对象可以添加依赖, 但是不能相互依赖, 除了同一个队列里面的operation之间可以依赖, 不同队列之间的operation也可以添加依赖

等operation执行完了再执行其他的操作: setCompletionBlock:

相对GCD更加的面向对象

上一篇下一篇

猜你喜欢

热点阅读