iOS
文章平均质量分 81
kongleifeng
技术没有边界
展开
-
NSOperation kongleifeng深究
1.NSOperation 简介NSOperation 苹果提供给我们的一套多线程解决方案基于GCD更高一层的封装,更加简洁易用、代码可读性高。NSOperation 实现多线程异步执行三步曲:(1)、创建任务 NSOperation(2)、创建队列 NSOperationQueue(3)、将任务放到队列中 将NSOpration 对象添加到 NSOprationQueue 中。系统会自动将 NSO原创 2017-01-11 16:38:37 · 281 阅读 · 0 评论 -
GCD 死锁深究 kongleifeng
本文不深层次讨论同步、异步。不深层次讨论串行、并行。本文只说什么是死锁?如何造出来死锁?常见的几种死锁?怎么解决死锁?死锁:程序在循环体中一直打转出不来了。怎么造出来死锁:调用同步的线程如果和target线程是同一个线程就会出现死锁。常见的两种死锁。 1. 主线程调用主线程。备注:最容易忽视出现死锁的方式。 2. 同步串行队列嵌套自己。备注:一般不会出现。不说废话了。直接上代码。 (void)v原创 2017-01-12 15:19:56 · 326 阅读 · 0 评论 -
计算机之设计模式
模式和描述配对 装饰者模式:包装一个对象,以提供新的行为。 状态模式:封装了基于状态的行为,并使用委托通过改变状态来切换不同的行为。 迭代器模式:在对象的集合之中游走,而不暴露集合的实现。 外观模式:简化一群类的接口。 策略模式:封装可以互换的行为,并使用委托来决定要使用哪一个行为。 代理模式: 包装对象,以控制对此对象的访问。 工厂方法:由子类决定要创建的具体类是哪一个。 适配器模式:封装对象,并原创 2017-02-03 18:07:48 · 1827 阅读 · 0 评论 -
Objective-c 中#import 和 @class 的区别
1.#import 会包含这个类的所有信息,包括实体变量和方法,而@class 只是告诉编译器,其后面声明的名称是类的名称,至于这些类是如何定义的,暂时不做考虑。 2.在头文件中,一般只需要知道被引用的类的名称就可以了。不需要知道内部的实例变量和方法,所以在头文件中一般使用@class来声明这个名称是类的名称。而在实现文件里这个引用类的内部的实体变量和方法,所以需要使用#import来引用这个头文原创 2017-04-20 15:34:44 · 300 阅读 · 1 评论