240 发简信
IP属地:天津
  • 21.retain、release 的实现机制?

    1.Retain的实现机制。 2.Release的实现机制。 二者的实现机制类似,概括讲就是通过第一层 hash 算法,找到 指针变量 所对应的...

  • 20 autoReleasePool 什么时候释放?

    App启动后,苹果在主线程 RunLoop 里注册了两个 Observer,其回调都是 _wrapRunLoopWithAutoreleaseP...

  • 19.讲一下 @dynamic 关键字?

    @dynamic 意味着编译器不会帮助我们自动合成 setter 和 getter 方法。我们需要手动实现、这里就涉及到 Runtime 的动态...

  • Resize,w 360,h 240
    17.是否了解 深拷贝 和 浅拷贝 的概念,集合类深拷贝如何实现

    深拷贝内存拷贝 浅拷贝指针拷贝 浅拷贝 深拷贝 集合的浅复制 (shallow copy) 集合的浅复制有非常多种方法。当你进行浅复制时,会向原...

  • 16.内存中的5大区分别是什么?

    栈区(stack):由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其 操作方式类似于数据结构中的栈。 堆区(heap):一般由程序员...

  • 15.内存管理默认的关键字是什么?

    MRC @property (atomic,readWrite,retain) UIView *view; ARC @property (ato...

  • 14.说一下什么是 悬垂指针?什么是 野指针?

    悬垂指针 指针指向的内存已经被释放了,但是指针还存在,这就是一个 悬垂指针 或者说 迷途指针 野指针 没有进行初始化的指针,其实都是 野指针 转...

  • 13.函数返回一个对象时,会对对象 autorelease 么?为什么?

    会 ,为了延长返回对象的生命周期,给其他使用者留足调用的时间 转自:https://github.com/liberalisman/iOS-In...

  • 12.ARC 在运行时做了哪些工作?

    主要是指 weak 关键字。weak 修饰的变量能够在引用计数为0 时被自动设置成 nil,显然是有运行时逻辑在工作的。 为了保证向后兼容性,A...