240 发简信
IP属地:广东
  • Resize,w 360,h 240
    RunLoop

    什么是RunLoop? 顾名思义:运行循环,在程序运行过程中循环做一些事情 应用范畴:·定时器(Timer)、PerformSelector·G...

  • Resize,w 360,h 240
    Block本质(__block修饰符)

    __block修饰符 __block可以用于解决block内部无法修改auto变量值的问题__block不能修饰全局变量、静态变量(static...

  • Resize,w 360,h 240
    Block本质(block类型)

    Block的类型 block有三种类型,可以通过调用class方法或者isa指针查看具体类型,最终都是集成自NSBlock类型·NSGlobal...

  • Resize,w 360,h 240
    Block本质(底层结构&变量捕获)

    block本质上也是一个OC对象,它内部也有一个isa指针,block是封装了函数调用以及函数调用环境的OC对象。 Block的底层结构 如下图...

  • Resize,w 360,h 240
    iOS修改已有项目的项目名和类名前缀

    因为公司需求多样,有时候需要在已有项目上做拓展,核心功能变化不大,会在原有基础上增减部分功能,变换UI。这时候我们需要对项目有个整体改造,项目名...

  • Resize,w 360,h 240
    关联对象-给Category添加属性

    我们知道,分类无法添加成员变量,在分类中定义了属性,系统没有生成对应的成员变量,也没有实现set和get方法。那我们如何实现为分类添加属性呢? ...

  • Resize,w 360,h 240
    Category-load、initialize调用原理

    面试题 load、initialize方法的区别是什么?他们在Category中的调用顺序? load调用原理 1.+load方法会在runti...

  • Resize,w 360,h 240
    Category底层结构及源码分析

    Category的本质 Category编译之后的底层结构是struct category_t ,里面存储着分类的对象方法、类方法、属性、协议信...

  • Resize,w 360,h 240
    KVC底层原理(设置取值原理)

    KVC的全称是Key-Value Coding,俗称“键值编码”,可以通过一个key来访问一个属性。 我们先来了解一下KVC的基本使用。 由上面...