最新文章

数据结构(1)

在计算机科学中, 数据结构是计算机中存储, 组织数据的方式.为编程语言提供数据类型; 一个好的数据结构应该尽可能的使用较少的空间和时间资源, 支持各种程序的运行. 忘记在哪里看到的了, 一个程序就是数据结构+算法; 常见的数据结构如下: 链 […]

分身不乏术,Objective-C的多线程

我们在现实生活中,往往会在统一调时间线上同时做好几件事情, 比如刷牙的时候看手机,为了不浪费时间,我们总是同时进行两件三件甚至更多的事情;而在编程的世界中, 我们可以通过软件或者硬件上实现多个线程并发执行的技术来做到类似现实世界中的行为, […]

拥抱一下沉默的 NSString 吧~

NSString 作为作为OC的一种数据类型, 他帮我们做了很多事情, 而且也是我们在项目中运用频率很高的一个数据类型.我们经常会对它进行各式各样的操作,生成新的字符串,修改,查找,比较等等. 但是有人可能会问, 既然我已经有C的字符串了, […]

iOS block详解

什么是Block block又叫块对象, 是MacOS X 10.6 以及 iOS4.0 平台下都可以使用的功能,block不是oc的实现, 而是c语言的实现; 与其他编程语言中的闭包 如何定义一个块对象 ^(返回值类型)(参数列) {表达 […]

从 NSObject 占用的内存说起

之前iOS的一个 git 仓库看到一个面试问题, 一个 NSObject 对象占用多少内存, 看到这个面试题以后我想不是4个就是8个嘛, 因为之前我打印过 64位设备下 NSString 对象的内存大小就是8; 可是答案却有一点出乎意料, […]

iOS中for 和 for-in 循环数组的小区别

在 OC 开发中, 数组是我们经常会用到的数据结构;而对数据进行遍历是很常见的操作, OC也为我们提供一下几种常用的操作: for 循环,普通遍历 for-in,快速 遍历 Block 枚举器NSEnumerator 之前大部分情况下都是用 […]

iOS中KVO使用和底层原理

iOS 中 KVO, 是key-value-observing 的缩写, 是Objective-C 对观察者设计模式的一种实现,类似观察者设计模式的还有NSNotificationCenter,不过一个是一对一(KVO),一个是一对多(NS […]

iOS 扩展&代理&通知

扩展 用途 声明私有属性 声明私有成员变量 声明私有方法 特点 注意与 category 的区别 * 编译时决议 * 只以声明的形式存在,多数情况下寄生在宿主类的. m中 * 不能为系统类添加扩展 代理 准确的来说是一种软件设计模式, 代理 […]

iOS 分类源码解读

分类的好处 用分类声明一些私有方法; 分类一些体积庞大的类文件,eg: AppDelegate, 组织代码更灵活 把 framework 的私有方法公开 分类的特点 运行时决议, 在 runtime 添加到类中, 在编辑的时候分类会将分类方 […]

UI事件传递以及事件响应原理

CALayer -> content显示内容, 实际是合成了一个个位图; 用来展示 我们平常所说的掉帧也是因为位图合成后未来得及显示绘制造成的 view 提供内容, 负责处理触摸事件,参与视图响应链 layer, 负责内容上的显示, con […]