稀土掘金 稀土掘金
    • 首页
    • 沸点
    • 课程
    • 数据标注 HOT
    • AI Coding
    • 更多
      • 直播
      • 活动
      • APP
      • 插件
    • 直播
    • 活动
    • APP
    • 插件
      • 搜索历史 清空
        • 写文章
        • 发沸点
        • 写笔记
        • 写代码
        • 草稿箱
        创作灵感 查看更多
  • 后端
  • 前端
  • Android
  • iOS
  • 人工智能
  • 开发工具
  • 代码人生
  • 阅读
  • 5-15.【OC】【Block】为什么 Swift 可以在很多场景下“不写 weak”,而 OC 不行?这是语言能力差异,还是 Runtime 设计差异?
    答案是:既是语言能力的进化(编译器更聪明),也是 Runtime 管理机制的代差(更先进的元数据管理)。 在 Objective-C 中,如果你不写 weakSelf,循环引用几乎是“必死”的;但在
    • 项阿丑
    • 9小时前
    • 2
    • 点赞
    • 评论
    Objective-C
  • 5-14.【OC】【Block】Swift 中 [weak self] 和 OC 中 __weak self 在生命周期管理上是否完全等价?
    简单来说,它们在最终目的(打破循环引用)上是等价的,但在执行细节和语法语义上,Swift 的 [weak self] 比 OC 的 __weak 走得更远,也更安全。 我们可以从以下三个维度来拆解它们
    • 项阿丑
    • 9小时前
    • 3
    • 点赞
    • 评论
    Objective-C
  • 5-13.【OC】【Block】OC Block 的捕获规则,与 Swift closure 的 capture list 有哪些本质差异?
    虽然 Objective-C 的 Block 和 Swift 的 Closure 在逻辑层面上非常相似,但它们的**捕获语义(Capture Semantics)**有着本质的差异。 最根本的区别在于
    • 项阿丑
    • 9小时前
    • 4
    • 点赞
    • 评论
    Objective-C
  • 解决 IntelliJ IDEA 运行 Spring Boot 测试时“命令行过长”错误
    解决 IntelliJ IDEA 运行 Spring Boot 测试时“命令行过长”错误 在使用 IntelliJ IDEA 开发 Spring Boot 项目时,不少开发者会遇到一个令人头疼的问题:
    • 大黄评测
    • 9小时前
    • 19
    • 点赞
    • 评论
    后端
  • 5-12.【OC】【Block】__weak typeof(self) weakSelf = self; 这行代码在 ARC 下编译器实际插入了什么逻辑?
    在 ARC 环境下,这一行看似简单的赋值,背后其实是一套复杂的弱引用表(Weak Table)管理逻辑。编译器并不会把它当作普通的指针赋值,而是会将其转化为对 Runtime 函数的调用。 具体来说,
    • 项阿丑
    • 9小时前
    • 3
    • 点赞
    • 评论
    Objective-C
  • a16z 领投 AI 伴侣 Shizuku AI:让社区参与 AI 角色成长;夸克 AI 眼镜新增直播功能丨日报
    在 VSSFlow 问世之前,行业内的模型往往存在严重的偏科现象:视频转声音模型(V2S)难以生成清晰的语音,而文本转语音模型(TTS)又无法处理复杂的环境噪音。
    • RTE开发者社区
    • 9小时前
    • 10
    • 点赞
    • 评论
    人工智能
  • 5-11.【OC】【Block】self 是在什么时候被 retain 的?self.block = ^{ [self doSomething]; };
    在 ARC 环境下,self 被 retain 的时机并不是在 Block 执行的时候,而是在 Block 创建并拷贝到堆上的那一刻。 我们可以把这个过程拆解为以下几个精确的步骤: 1. 核心触发时机
    • 项阿丑
    • 9小时前
    • 4
    • 点赞
    • 评论
    Objective-C
  • 详解JS的?.(可选链操作符)和 ??(空值合并操作符)
    本文讲解 JavaScript中可选链 (?.) 和空值合并 (??) 的用法,前者安全访问嵌套属性避免报错,后者按照msg→message→error.message优先级提取错误信息,提升代码健康
    • SuperEugene
    • 9小时前
    • 22
    • 点赞
    • 评论
    JavaScript 前端
    详解JS的?.(可选链操作符)和 ??(空值合并操作符)
  • 5-10.【OC】【Block】为什么在 OC 中 weakSelf 几乎是必须的?哪些场景下不用 weak 也不会循环引用?
    在 Objective-C 中,weakSelf 的存在感之所以这么强,本质上是因为 Objective-C 的闭包(Block)是一等公民,且默认执行的是强引用捕获。 1. 为什么 weakSelf
    • 项阿丑
    • 9小时前
    • 3
    • 点赞
    • 评论
    Objective-C
  • 5-9.【OC】【Block】Block 捕获 self 的真实语义是什么?
    在 Objective-C 中,Block 捕获 self 的真实语义可以概括为一句话:它在 Block 的结构体内部创建了一个强引用指针,指向了 self 所代表的对象。 这里有三个核心层面的含义,
    • 项阿丑
    • 9小时前
    • 3
    • 点赞
    • 评论
    Objective-C
  • 5-8.【OC】【Block】Block 的内存布局中,至少包含哪些关键字段?
    从底层 C 语言的定义来看,Block 的本质是一个结构体。无论它是哪种类型的 Block,其内存布局的首部都遵循统一的规范(通常被称为 Block_layout)。 以下是 Block 内存布局中最
    • 项阿丑
    • 9小时前
    • 4
    • 点赞
    • 评论
    Objective-C
  • 5-7.【OC】【Block】__block 变量在 Stack → Heap 的迁移过程中,发生了什么变化?
    这是一个非常硬核的内存迁移过程。当 Block 从栈拷贝到堆时,__block 变量并不是简单地“移动”,而是一场坐标转换和关系重定位。 我们可以把这个过程拆解为三个关键动作: 1. 结构体的“克隆”
    • 项阿丑
    • 9小时前
    • 3
    • 点赞
    • 评论
    Objective-C
  • 5-6.【OC】【Block】__block 修饰符的底层原理是什么?
    简单来说,__block 修饰符的作用是**“将一个栈上的变量包装成一个对象”**,从而让它能够随着 Block 一起被拷贝到堆上,实现跨作用域的读写访问。 如果不加 __block,Block 捕获
    • 项阿丑
    • 9小时前
    • 4
    • 点赞
    • 评论
    Objective-C
  • 5-5.【OC】【Block】Block_copy / [block copy] 在 ARC 下是否还“真的有用”?
    这是一个非常敏锐的问题。在 ARC(自动引用计数) 几乎接管了一切的今天,手动调用 Block_copy 或 [block copy] 的场景确实极度萎缩,但它并没有完全“退役”。 简单直接的回答是:
    • 项阿丑
    • 9小时前
    • 3
    • 点赞
    • 评论
    Objective-C
  • 5-4.【OC】【Block】Block 从 Stack copy 到 Heap 的触发时机有哪些?至少说出 3 种。
    在 ARC(自动引用计数)环境下,编译器为了保证程序的安全性,会非常频繁地自动将 Block 从栈(Stack)拷贝到堆(Heap)上。一旦拷贝到堆,Block 的生命周期就不再受限于当前作用域,而是
    • 项阿丑
    • 9小时前
    • 4
    • 点赞
    • 评论
    Objective-C
  • 5-3.【OC】【Block】Stack Block 为什么不能跨作用域使用?它的生命周期是如何结束的?
    简单来说,Stack Block(栈上的 Block) 最大的局限性在于它的生命周期是与它所在的函数或作用域(Scope) 强绑定的。 在 Objective-C 中,Block 本质上是一个对象,但
    • 项阿丑
    • 9小时前
    • 3
    • 点赞
    • 评论
    Objective-C
  • 5-2.【OC】【Block】如何通过代码特征快速判断一个 Block 属于哪种类型?
    ✅「肉眼 + 编译器语义」判断法 这是苹果工程师自己用的方式。 一、先给结论(99% 场景适用) 你只需要看三件事: 🥇 是否捕获任何外部变量? ❌ 没有捕获: 👉 必然是: ✅ Global Blo
    • 项阿丑
    • 9小时前
    • 5
    • 点赞
    • 评论
    Objective-C
  • 5-1.【OC】【Block】OC 中为什么会有 Global / Stack / Heap 三种 Block?它们诞生的历史原因是什么?
    这是个**非常底层 + 很“历史包袱感”**的问题 ——Block 之所以看起来怪(Global / Stack / Heap 三种),本质不是设计优雅,而是: 一、最初:Block 不是 OC 发明
    • 项阿丑
    • 9小时前
    • 4
    • 点赞
    • 评论
    Objective-C
  • 我是如何把 API 响应时间从 200ms 压到了 10ms
    少年呀,当你遇到这样的情况:API 慢得像蜗牛,P95 延迟超高,服务器在凌晨 3 点因为流量突发而崩溃,你是选择花三个月用 Rust 重写所有东西,还是选择看着用户流失呢。
    • 该用户已不存在
    • 9小时前
    • 89
    • 1
    • 评论
    前端 后端 Node.js
  • 自定义脚本修改响应,从观看数据到修改数据的调试
    本文围绕自定义脚本修改响应的实际调试需求,从代理抓包的前提条件出发,详细拆解了在代理模式下如何通过拦截器脚本自动修改接口响应
    • 开心猴爷
    • 9小时前
    • 6
    • 点赞
    • 评论
    后端
  • 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