腾讯面试题更新 2026-08-05

weak 指针会在所指向对象被释放时自动置为 nil,请问这个置为 nil 的时机具体发生在什么时候?

腾讯前端/移动开发互联网/IT技术原理Objective-C

考察说明

考察对引用计数内存管理生命周期及弱引用置空时机的理解

回答思路

  1. 明确 weak 指针置 nil 发生在对象引用计数归零并触发 dealloc 的自动释放阶段
  2. 说明置 nil 发生在 dealloc 回收内存的过程中,在对象内存被回收到系统堆池之前
  3. 区分引用计数归零、dealloc 调用、内存实际释放三个阶段的先后顺序
  4. 能解释为何 weak 指针在 dealloc 期间已合法访问,但对象方法不可再调用
本题已收录答题指导

本题附完整参考答案与评分标准

登录后可查看结构化答题指导;也可以直接开一场模拟面试,AI 面试官用本题实时追问并给出评分。