重用实现分析 查看UITableView头文件,会找到NSMutableArray* visiableCells,和NSMutableDictnery* reusableTa...
重用实现分析 查看UITableView头文件,会找到NSMutableArray* visiableCells,和NSMutableDictnery* reusableTa...
不好的解决方案:使用下面的方式会强制Core Animation提前渲染屏幕的离屏绘制, 而离屏绘制就会给性能带来负面影响,会有卡顿的现象出现。 正确的解决方案:使用绘图技术...
1、引言 每年的3、4月份都是求职高峰时期,目前已进入6、7月份了,你已经成功换工作了吗? 这次我们想聊的,就是程序员跳槽这件事儿,我打算从三个方面来说: 1)程序员什么时候...
OC 消息转发机制,当调用一个 NSObject 对象不存在的方法时,并不会马上抛出异常,而是会经过多层转发,层层调用对象的-resolveInstanceMethod:, ...
文章目录CPU和GPU 卡顿优化 - CPU 卡顿优化 - GPU 离屏渲染 耗电耗电优化 APP的启动 APP启动3大阶段 APP的启动优化 安装包瘦身 面试题CPU和GP...
前言 之前看过蘑菇街, 阿里, CT等组件化方案, 单独拿来使用都不是很好用. 对我们这种中小型公司来说蘑菇街的不够用, 阿里的复杂且并不好用. 所以最终看到有赞的方案觉得还...
综合 所有的本地持久化数据存储的本质都是写文件,而且只能存到沙盒中。 沙盒机制是苹果的一项安全机制,本质就是系统给每个应用分配了一个文件夹来存储数据,而且每个应用只能访问分配...
SDWebImage 一个为UIImageView提供一个分类来支持远程服务器图片加载的库。 功能简介: 工作流程 源码分析 主要用到的对象 一、图片下载 1、 SDWebI...
一、隐藏自身软键盘 当对于有多个UITextField控件都想通过点击“Return”来隐藏自身软键盘的情况,这时的最好办法是使用Did End on Exit事件。在点击软...
TableView 是iOS app 中最常用的控件,许多代码直接或者间接的关联到table view任务中,包括提供数据、更新tableView、控制tableView行为...
内存管理的一些概念 为什么要使用内存管理? 1.严格的内存管理,能够是我们的应用程在性能上有很大的提高2.如果忽略内存管理,可能导致应用占用内存过高,导致程序崩溃 OC的内存...
一、 分类和类扩展区别 1. 分类实现原理 Category编译之后的底层结构是struct category_t,里面存储着分类的对象方法、类方法、属性、协议信息 在程序运...
一、如何绘制UIView?绘制一个UIView最灵活的方法就是由它自己完成绘制。实际上你不是绘制一个UIView,而是子类化一个UIView并赋予绘制自己的能力。当一个UIV...
SDWebImage 一个为UIImageView提供一个分类来支持远程服务器图片加载的库。 功能简介: 工作流程 源码分析 主要用到的对象 一、图片下载 1、 SDWebI...
1. 事件的产生 发生触摸事件后,系统会将该事件加入到一个由UIApplication管理的事件队列中,为什么是队列而不是栈?因为队列的特点是FIFO,即先进先出,先产生的事...
在iOS中只有继承UIResponder的对象才能够接收并处理事件,UIResponder 是所有响应对象的基类,在UIResponder类中定义了处理上述各种事件的接口。我...
TableView 是iOS app 中最常用的控件,许多代码直接或者间接的关联到table view任务中,包括提供数据、更新tableView、控制tableView行为...
MVVM和MVC的区别 1. MVC MVC的弊端 厚重的View ControllerM:模型model的对象通常非常的简单。根据Apple的文档,model应包括数据和操...
Runloop 为什么只有主线程的runloop是开启的 为什么只在主线程刷新UI PerformSelector和runloop的关系 如何使线程保活 Runloop 作为...
在 CoreFoundation 里面关于 RunLoop 有 5 个类,分别对应不同的概念: CFRunLoopRef,对应 runloop。 CFRunLoopModeR...