240 发简信
IP属地:贵州
  • iOS weak源码之表中表

    我们都知道,weak的主要作用是为了防止循环引用,而产生循环引用的根本原因则在于ARC下的引用计数错误问题,即两个对象或者多个对象相互持有,会造...

  • iOS 源码解析 - Runtime篇 (3 消息转发)

    objc-runtime 开源地址 消息转发 在开启消息转发之前,先来看看定义在NSObject.h中的这五个方法: 我们可以把runtime想...

  • Block 原理和内存管理

    Block是什么? 在oc中它是带有^符号的匿名函数,遵循BN范式: ^ 返回值类型 参数列表 表达式 (参数和返回值为空的时候可以省略)。 而...

  • AutoreleasePool 重新梳理

    AutoreleasePool 是一个抽象概念,并没有实际结构,真实的结构是一个双向链表『AutoreleasePoolPage』,由C++实现...

  • 偷梁换柱 - iOS实现UITextField+Limit

    用例分析 在使用UITextField的过程中,不免会有限制字符个数,字符输入规则的需求。一般情况下,会有如下两种方法: 直接设置代理,实现代理...

    1.3 1107 0 14
  • iOS 源码解析 - Runtime篇 (2 objc_msgSend)

    objc-runtime 开源地址 由于OC是属于C的超集再加上runtime的存在,我们写的每一个OC方法在编译阶段被转成id objc_ms...

  • Resize,w 360,h 240
    iOS 源码解析 - Runtime篇(1)

    objc-runtime 开源地址 在Objective-C中runtime主要充当了一个消息传递者,但其实它还有很多更加强大的特性。 工程打开...

  • Resize,w 360,h 240
    iOS 国际化全解-swift与OC

    前言 iOS国际化是个很头疼的问题,尤其是项目更新了N个版本突然要加入国际化需求的时候。(大部分都是这样吧...) (吐槽结束)那么开始吧 首先...

    0.8 6131 2 23
  • swift - typealias详解

    typealias 如果挑出swift中好用的功能,我认为typealias 应该是首当其冲的了typealias:用来为已存在的类型重新定义名...

    0.8 7040 5 12
个人介绍
心如止水,方成大器。
不忘初心,方得始终。