240 发简信
IP属地:北京
  • JavaScript 作用域链与闭包

    作用域链与闭包 了解作用域链之前需要先了解下作用域是什么。 作用域 几乎所有的语言都有作用域的概念。这是因为它们都有变量这一概念。而程序代码中所用到的变量并不总是有效或者可用...

  • JavaScript 执行上下文和执行栈

    执行上下文和执行栈 开始之前,我们先看以下代码。 第一段代码报错很好理解,a 没有声明。所以抛出错误。 第二段代码中 a 的声明在使用 a 之后,打印 a 的值是 undef...

  • 120
    JavaScript 对象和原型链

    对象与原型链 基于类和基于原型 我们都知道 JavaScript 是一个面向对象的语言,但是它却没有其他诸如 Java、C++ 这些面向对象的语言中都存在类的这个概念。取而代...

  • 120
    JavaScript 类型

    类型 基本类型:Undefined、Null、Boolean、String、Number、Symbol 引用类型:Object 1. 基本类型和引用类型的区别 上面这张图片很...

  • NSNotificationCenter

    通知中心是如何维护观察者对象的。 可以明确的是,添加观察者时,通知中心没有对观察者做retain操作,即不会使观察者的引用计数加1。那通知中心维护的是观察者的weak引用呢还...

  • 动态链接库加载的具体流程

    动态链接库加载的具体流程 动态链接库的加载步骤具体分为5步: load dylibs image 读取库镜像文件 Rebase image Bind image Objc s...

  • SDWebImage

    SDWebImage 如何为 UIImageView 添加图片(面试回答) SDWebImage 中为 UIView 提供了一个分类叫做 WebCache, 这个分类中有一个...

  • UI性能优化

    措施 1、避免图层混合 确保控件的opaque属性设置为true,确保backgroundColor和父视图颜色一致且不透明 如无特殊需要,不要设置低于1的alpha值 确保...

  • 事件的传递和响应机制

    事件的产生 发生触摸事件后,系统会将该事件加入到一个由UIApplication管理的事件队列中,为什么是队列而不是栈?因为队列的特点是FIFO,即先进先出,先产生的事件先处...

  • Category

    category和extension extension看起来很像一个匿名的category,但是extension和有名字的category几乎完全是两个东西。 exten...

  • 120
    RunLoop

    什么是Run Loops 一般来讲,一个线程一次只能执行一个任务,执行完成后线程就会退出。如果我们需要一个机制,让线程能随时处理事件但并不退出。这时候可以使用一个循环来进行实...

  • 120
    AutoreleasePool

    首先我们明确什么对象会自动加入 autoreleasepool : MRC 下需要对象调用 autorelease 才会入池, ARC 下可以通过 __autoreleasi...

  • 120
    Runtime

    objc对象内存布局 对象:所有父类的成员变量和自己的成员变量类对象:其中存放着普通成员变量列表与动态方法(“-”开头的方法)元类对象:存放着static类型的成员变量与st...

  • 120
    Block

    定义 带有自动变量(局部变量)的匿名函数。 类型 _NSConcreteStackBlock 栈上的block 只用到外部局部变量、成员属性变量,且没有强指针引用的b...