240 发简信
IP属地:北京
  • 120
    Block、__block修饰符的实质

    1. 将Block转换为普通C语言通过支持Block的编译器,可以将含有Block语法的源代码转换为一般C语言编译器能给处理的源代码,并作为极为普通的C语言源代码被编译以下命...

  • 120
    离屏渲染

    图像显示原理 图像显示的大概流程: 程序运行从内存中读取数据对图片进行解压得到像素数据,若GPU不支持图片的颜色格式,CPU需要进行格式转换CoreText和CoreGrap...

  • UITableViewCell的创建方式

    最常用的方式iOS6之前,cell的复用使用方法 所以常用如下方式创建cell,纯代码示例: 使用Xib的复用方式示例: iOS6之后的方法iOS6提供了新的复用方法 需要配...

  • MVC、MVP和MVVM

    MVC 模型(Model)- 视图(View)- 控制器(Controller)目的:将Model与View的实现代码分离 Apple的MVC中: Model:存储数据,不负...

  • 120
    类NSObject与runtime系统基础知识总结

    与runtime交互的三种方式 runtime system:基本上是用C和汇编写的一个runtime库,这个库使得C语言获得面向对象的能力,负责完成对象生成、释放时的内存管...

  • 120
    YYCache源码阅读总结

    为什么要有缓存?   使用缓存的2个主要原因: 降低延迟:缓存离客户端更近,因此,从缓存请求内容比从源服务器所用时间更少,呈现速度更快。 降低网络传输:副本被重复使用,大大降...

  • 120
    KVO学习

    KVO机制学习 什么是KVO?   KVO是Key-Value-Observing的缩写,通过KVO机制对象可以得到其他对象的某个属性的变更通知。这种机制在MVC模式下显得更...

  • UITableViewCell复用与高度计算

    UITableViewCell的重用机制   为了减少内存开销,UITableView只会创建一屏幕(或一屏幕多一点)的UITableViewCell,当Cell滑出屏幕时,...

  • AutoLayout学习

    iOS布局方式的演变 使用Rect的frame布局方式 autoresizingMask方式 AutoLayout SizeClass AutoLayout深入浅出前传 Fr...

  • BlocksKit与iOS消息转发机制

      最近看了『神奇的 BlocksKit』系列,里面说到动态代理是BlocksKit的精华部分,对于使用block实现委托方法比较好奇,于是下载了源码阅读了一下。  Bloc...

  • iOS UITableView 局部刷新

    声明 参数:indexPaths:需要刷新的row的indexPath数组animation:常量,表示刷新动画的类型 动画类型影响着新row和旧row滑动的方向,如果动画常...

  • property与所有权修饰符

    1、各个属性选项的意义Objective-c中,@property选项有assign、retain、unsafe_unretain、strong、weak和copy六个选项,...

  • MRC期间的内存管理方式

    MRC引用计数规则 内存管理的范围:任何继承了NSObject的对象,对基本数据类型无效(系统会自动回收)相关名词: 内存泄漏:程序未能释放已经不在使用的内存 僵尸对象:对象...

  • ARC的内存管理方式

    什么是ARC ARC(自动引用计数)是一个编译期技术,介于垃圾回收(GC)和MRC之间,ARC让程序员不再需要书写retain/release/autorelease语句,r...

  • 120
    如何高效学Python?

    如果你一直想学Python,但是不知道如何入手,那就别犹豫了。这篇文章就是为你写的。 疑问 随着数据科学概念的普及,Python这门并不算新的语言火得一塌糊涂。 因为写了几篇...

  • iOS中从nib加载界面的几个方法分析

    返回一个从解档的数据中初始化的一个对象 参数:decoder:一个解档的对象 返回值:self:使用decoder中的数据初始化后的self 所有的ViewControlle...