稀土掘金 稀土掘金
    • 首页
    • 沸点
    • 课程
    • 数据标注 HOT
    • AI Coding
    • 更多
      • 直播
      • 活动
      • APP
      • 插件
    • 直播
    • 活动
    • APP
    • 插件
      • 搜索历史 清空
        • 写文章
        • 发沸点
        • 写笔记
        • 写代码
        • 草稿箱
        创作灵感 查看更多
  • 后端
  • 前端
  • Android
  • iOS
  • 人工智能
  • 开发工具
  • 代码人生
  • 阅读
  • 重置iPhone会删除所有内容吗? 详细回答
    ​ 重置 iPhone 会删除所有文件吗?我们发现很多人在不同平台上提出类似的问题。如果您对此感到困惑,不用担心,我们会详细解答。之后,您可以决定是否重置 iPhone。 ​ 第 1 部分:重置 iP
    • iReaShare
    • 7天前
    • 35
    • 点赞
    • 评论
    iOS
  • 2-22.【OC】【内存管理】画出一个“完整的循环引用全景图”:要求包含:ViewController、Block、Timer、Delegate、RunLoop
    这是一个非常经典且复杂的内存拓扑结构。在 iOS 开发中,这五个角色往往交织在一起,形成一个“牵一发而动全身”的引用网络。 为了让你看清它们的真实关系,我们把这张图拆解为两条核心路径:一条是“显性”的
    • 项阿丑
    • 7天前
    • 14
    • 点赞
    • 评论
    Objective-C
  • 2-21.【OC】【内存管理】Swift ARC 与 OC ARC 在循环引用处理上的设计差异有哪些?
    虽然两者都基于自动引用计数(ARC) ,但 Swift 在设计上吸取了 Objective-C 的教训,将内存安全性从“开发者规约”提升到了“语言特性”层面。 它们处理循环引用的核心设计差异可以总结为
    • 项阿丑
    • 7天前
    • 14
    • 点赞
    • 评论
    Objective-C
  • 2-20.【OC】【内存管理】Swift 的 [weak self] 与 [unowned self] 的底层区别是什么?
    在 Swift 中,[weak self] 和 [unowned self] 都是为了打破闭包产生的循环引用,但它们在 Runtime(运行时)安全性和引用计数底层实现上有着本质的区别。 简单来说:w
    • 项阿丑
    • 7天前
    • 9
    • 点赞
    • 评论
    Objective-C
  • 2-19.【OC】【内存管理】Swift 中 closure 的捕获语义与 OC block 的关键差异是什么?
    虽然 Swift 的 Closure(闭包)在很多概念上继承了 Objective-C 的 Block,但在底层捕获语义和编译器优化上,两者有着本质的区别。 最核心的差异可以总结为一句话:Swift
    • 项阿丑
    • 7天前
    • 10
    • 点赞
    • 评论
    Objective-C
  • 2-18.【OC】【内存管理】 __block 在 MRC 和 ARC 下行为是否一致?
    不一致。 虽然 __block 的核心目标(允许 Block 内部修改外部变量)在两个环境下是一样的,但它在内存管理语义上存在一个巨大的、甚至足以导致程序崩溃的差异。 1. 核心差异:是否会触发 Re
    • 项阿丑
    • 7天前
    • 6
    • 点赞
    • 评论
    Objective-C
  • 2-17.【OC】【内存管理】 Block 的变量捕获规则是怎样的?
    Objective-C Block 的变量捕获规则是其最核心的机制。Block 为了保证在未来某个时刻执行时变量依然可用,会根据变量的类型和修饰符,采取截然不同的“打包”策略。 我们可以将其归纳为以下
    • 项阿丑
    • 7天前
    • 20
    • 点赞
    • 评论
    Objective-C
  • 2-16.【OC】【内存管理】Block 的三种存储类型分别是什么?
    在 Objective-C 中,Block 本质上是一个封装了函数及其执行上下文(变量捕获)的 OC 对象。根据其内存存储位置的不同,Block 分为三种主要的存储类型。 你可以通过查看 Block
    • 项阿丑
    • 7天前
    • 14
    • 点赞
    • 评论
    Objective-C
  • 2-15.【OC】【内存管理】NSTimer 为什么必然导致循环引用?
    说 NSTimer “必然”导致循环引用其实有些绝对,但在 iOS 10 / macOS 10.12 之前,如果你使用经典的 scheduledTimerWithTimeInterval:target
    • 项阿丑
    • 7天前
    • 9
    • 点赞
    • 评论
    Objective-C
  • 2-14.【OC】【内存管理】delegate 为什么通常用 weak?
    在 Objective-C 和 Swift 开发中,delegate(代理)属性几乎约定俗成地使用 weak(在 MRC 下用 assign)。这背后的核心原因只有一个:防止循环引用(Retain C
    • 项阿丑
    • 7天前
    • 6
    • 点赞
    • 评论
    Objective-C
  • 2-13.【OC】【内存管理】ARC 是否意味着“没有性能成本”?
    简单直接的答案是:不,ARC 不仅有性能成本,甚至在某些特定情况下比手动管理(MRC)还要高。 虽然 ARC 的初衷是自动化和安全,但“自动化”的代价是由 CPU 的时钟周期和内存开销来支付的。我们可
    • 项阿丑
    • 7天前
    • 7
    • 点赞
    • 评论
    Objective-C
  • 2-12.【OC】【内存管理】ARC 下为什么循环里创建大量临时对象容易内存暴涨?
    在 ARC 环境下,循环中内存暴涨的根本原因在于:自动释放对象的“死亡时间”被推迟到了当前 RunLoop 的末尾。 虽然 ARC 帮我们省去了手写 release 的麻烦,但它依然遵循 Object
    • 项阿丑
    • 7天前
    • 12
    • 点赞
    • 评论
    Objective-C
  • 2-11.【OC】【内存管理】ARC 下,autoreleasepool {} 的底层结构是什么?
    在 ARC 环境下,@autoreleasepool {} 看起来是一个简单的语法糖,但其底层是一套基于**栈(Stack)**结构的内存管理机制。 当你编写 @autoreleasepool {}
    • 项阿丑
    • 7天前
    • 9
    • 点赞
    • 评论
    Objective-C
  • 2-10.【OC】【内存管理】__unsafe_unretained 与 __weak 的底层差异是什么?
    从底层实现来看,__unsafe_unretained 和 __weak 的差异本质上是 “原始指针” 与 “运行时托管指针” 的区别。 虽然它们都不增加引用计数,但处理对象销毁(Deallocati
    • 项阿丑
    • 7天前
    • 9
    • 点赞
    • 评论
    Objective-C
  • 2-9.【OC】【内存管理】weak 表是什么时候被清理的?
    weak 表的清理发生在一个对象的 生命终点,确切地说,是在 dealloc 流程执行到 objc_destructInstance 这一步时。 清理过程并不是一蹴而就的,而是一场严密的“定点清除”行
    • 项阿丑
    • 7天前
    • 8
    • 点赞
    • 评论
    Objective-C
  • 2-8.【OC】【内存管理】weak 表(Side Table)里到底存了什么?
    在 Objective-C 的底层实现中,SideTable 是管理内存安全的核心仓库。它并不是一张简单的表,而是一个复杂的 多级嵌套数据结构,专门用来存储引用计数和弱引用信息。 我们可以通过“三层嵌
    • 项阿丑
    • 7天前
    • 6
    • 点赞
    • 评论
    Objective-C
  • 2-7.【OC】【内存管理】__weak 变量为什么在对象释放后会自动变成 nil?
    __weak 变量之所以能在对象释放时自动清空(Zeroing),并不是因为它在不断地“监听”对象,而是因为 Objective-C Runtime 维护了一套高效的**弱引用表(Weak Table
    • 项阿丑
    • 7天前
    • 10
    • 点赞
    • 评论
    Objective-C
  • 2-6.【OC】【内存管理】ARC 下,__strong 的真实含义是什么?
    在 ARC 环境下,__strong 是 Objective-C 指针的默认修饰符。它的真实含义可以从所有权语义、生命周期管理以及底层运行时实现三个维度来解剖。 简单来说,__strong 的本质是:
    • 项阿丑
    • 7天前
    • 4
    • 点赞
    • 评论
    Objective-C
  • 2-5.【OC】【内存管理】ARC 编译期插入了哪些代码?
    在 ARC(Automatic Reference Counting)模式下,编译器(Clang)并不是简单地替你手写了 retain/release,它实际上进行了一场**“静默的局部最优解计算”*
    • 项阿丑
    • 7天前
    • 10
    • 点赞
    • 评论
    Objective-C
  • 2-4.【OC】【内存管理】MRC 下,下面代码是否安全?为什么?
    在 MRC(Manual Reference Counting)环境下,这段代码是安全的,但它代表了一种极度不规范且容易埋坑的写法。 虽然最终内存引用计数是平衡的,但它违反了 Objective-C
    • 项阿丑
    • 7天前
    • 5
    • 点赞
    • 评论
    Objective-C
  • 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30