240 发简信
IP属地:湖北
  • Resize,w 360,h 240
    汇编 - 理解函数调用栈

    首先介绍下面会用到的几个寄存器:rsp : 栈指针寄存器,指向栈顶rbp : 栈基址寄存器,指向栈底edi : 函数参数rsi/esi : 函数...

  • Resize,w 360,h 240
    汇编 - 寄存器

    如上图所示,我这里只介绍几个常用且相互之间有关联的寄存器。这里用rax举例: 如上所示,计算机的发展是向下兼容的,所以,若是我们设置寄存器rax...

  • iOS 分类和扩展的作用和区别

    分类即Category分类可以添加方法,也可以写添加属性,但是因为没有生成对应的成员变量和setter、getter方法,因此没有实际属性意义;...

  • iOS GCD死锁的情况和解决办法

    1、同步串行主队列 因为dispatch_sync是一个同步队列,所以会堵塞在这里,直至这个dispatch_sync有返回才会继续执行下去,此...

  • iOS [[NSObject alloc] init]和[NSObject new]的区别

    直接查看源码 从上面可知,两种方法都走的是callAlloc,只是前者传的第三个参数是true,后者没有传(即可能存在默认值)。 根据callA...

  • iOS load和initialize的调用次序和区别

    load 当类或分类被加载到runtime时被调用,且每个类或分类只会调用一次load方法,子类不会覆盖父类,分类不会覆盖本类; 调用顺序: 父...

  • iOS属性的关键字

    常用属性关键字:natomic、nonatomic、assign、weak、strong、retain、copy、unsafe_unretain...

  • iOS成员变量、属性、实例变量

    上诉例子中: 成员变量: string1、_string2、count、value 属性: string3 实例变量: string1、...