主线程Runloop 掘金 iOS betcha0724 2026年1月30日 12:23 Runloop循环的代码,不是在主线程上运行的吗 Runloop循环的代码,不是在主线程上运行的吗 Runloop循环的代码,不是在主线程上运行的吗
Runloop的无限循环 掘金 iOS betcha0724 2026年1月30日 12:20 不是说runloop是无限循环吗,为啥主线程还会休眠? 不是说runloop是无限循环吗,为啥主线程还会休眠?
聊聊swift闭包 掘金 iOS dongczlu 2026年1月29日 17:00 Swift闭包语法详解 代码示例 详细解释 这是一个Swift中的闭包(Closure)语法,具体解释如下: 代码分解 语法分析 变量声明: var b:声明一个变量 b :() -> Void:指定
Swift 属性包装器 掘金 iOS 用户46810455724 2026年1月29日 16:49 我们来看 The Swift Programming Language (6.2.3) 中的例子。 结构 TwelveOrLess 是属性包装器,属性包装器可以是 class、struct 和 enu
BSBacktraceLogger源码解析 掘金 iOS iOS在入门 2026年1月29日 14:55 源码地址 https://github.com/bestswifter/BSBacktraceLogger 逐行注释
4-1.【协议导向编程】什么是协议导向编程(POP),它解决了传统面向对象设计中的哪些问题? 掘金 iOS 项阿丑 2026年1月29日 11:05 1️⃣ 什么是协议导向编程(POP) 协议导向编程 是 Swift 提出的编程范式,它的核心思想是: 通过协议(protocol)定义接口和行为,而不是依赖类继承。 通过协议扩展(protocol e
Neo-Cupertino 档案:撕开 Actor 的伪装,回归 Non-Sendable 的暴力美学 掘金 iOS 大熊猫侯佩 2026年1月29日 10:18 窗外的霓虹灯光透过雨幕,在 Jet 的合成皮风衣上投下斑驳的阴影。他抿了一口手中的高浓度咖啡因液,看着面前焦头烂额的 Nova。 “我的编译器又在尖叫了,” Nova 把全息屏幕推向 Jet,上面红色
赛博深渊(上):用 Apple Foundation Models 提炼“禁忌知识”的求生指南 掘金 iOS 大熊猫侯佩 2026年1月29日 10:16 🍎 引子 新九龙城的雨从未停过。霓虹灯的废气在湿漉漉的街道上晕染开来,像极了那个死于代码过载的倒霉蛋老王流出的脑浆。 在贫民窟第 404 区的一间昏暗安全屋里,一名代号为“老 K”的黑客正对着一块发着
NSProcessInfoThermalState 的作用 掘金 iOS iOS在入门 2026年1月28日 22:59 NSProcessInfoThermalState 的作用 NSProcessInfoThermalState 是一个用于表示设备散热状态的枚举类型。它帮助应用程序了解设备当前的温度水平,从而采取适当
3-27.【函数式编程】讨论 Combine 的 Publisher 如何体现 Functor / Monad 特性。 掘金 iOS 项阿丑 2026年1月28日 17:00 1️⃣ Functor 特性在 Publisher 中的体现 Functor 核心:能够把函数映射到容器/上下文中的值,同时保持结构不变。 在 Combine 中: Publisher 可以看作一个
2-6.【Concurrency】TaskGroup 的设计目的是什么?它如何保证并发安全? 掘金 iOS 项阿丑 2026年1月28日 14:11 一句话先给结论 或者更狠一点的说法: 1️⃣ 为什么需要 TaskGroup?(设计动机) 先看一个“天真实现”的问题: ❌ 问题一堆: results 有数据竞争 子任务生命周期不受控 取消无法统一
2-5.【Concurrency】Task 和 DetachedTask 有什么区别?使用场景各是什么? 掘金 iOS 项阿丑 2026年1月28日 14:11 一句话总览 1️⃣ 最重要的区别(先看这个) 维度 Task {} Task.detached {} 是否有父 Task ✅ 有 ❌ 没有 继承取消状态 ✅ ❌ 继承优先级 ✅ ❌ 继承 Task-l
2-4.【Concurrency】Continuation 是什么?与 async/await 有何关系? 掘金 iOS 项阿丑 2026年1月28日 14:11 在 Swift(乃至整个并发世界)里: 我会按 概念 → Swift 里的具体形态 → 与 async/await 的关系 → 常见误区 来讲。 一句话定义(先刻在脑子里) 换句话说: 1️⃣ 直观理
1-30.【GCD】GCD 如何缓解优先级反转?开发者还能做什么? 掘金 iOS 项阿丑 2026年1月28日 11:31 1️⃣ GCD 内部缓解机制:QoS 继承 1.1 原理 问题来源: 高 QoS 任务等待低 QoS 队列中的任务或锁 如果低 QoS 任务占用线程 → 高 QoS 任务被延迟 典型场景:串行队列 +
1-24.【GCD】QoS 和线程优先级是 1:1 映射的吗? 掘金 iOS 项阿丑 2026年1月28日 11:27 QoS 和线程优先级并不是 1:1 映射,它们只是相关,但机制上存在差别。下面详细解释: 1️⃣ 核心结论 换句话说: QoS → 告诉系统“任务重要性”,GCD 根据这个在全局线程池中选择或创建线程
1-22.【GCD】使用 DispatchSource 时最容易踩的坑有哪些? 掘金 iOS 项阿丑 2026年1月28日 11:27 1️⃣ 忘记 resume() 坑:创建 DispatchSource 后必须调用 resume() 才会启动事件源 原因:DispatchSource 默认是暂停状态 后果:事件永远不会触发 解决:
1-13.【GCD】dispatch_barrier 的作用和使用场景是什么? 掘金 iOS 项阿丑 2026年1月28日 09:48 1️⃣ 基本作用 本质:把并发队列临时变成“串行屏障” 保证 读-写或写-写安全,同时不阻塞其他并行队列的线程资源 2️⃣ 工作机制 假设有一个并发队列 concurrentQueue: 执行顺序:
1-6.【GCD】自定义队列在底层是如何映射到全局队列的? 掘金 iOS 项阿丑 2026年1月28日 09:46 下面我们从 结构 → 映射路径 → 调度细节 → 常见误解 一层层拆。 1️⃣ 核心模型:Queue ≠ Thread(再强调一次) 在 GCD 里: 队列(DispatchQueue) : 👉 任务
1-5.【GCD】全局并发队列(global queue)有多少个?是如何区分的? 掘金 iOS 项阿丑 2026年1月28日 09:45 ✅ 结论版(先背这个) 1️⃣ 到底有多少个全局并发队列? 从 GCD 语义层面看: 🧩 一共 6 种 QoS,对应 6 组全局并发队列 QoS Swift 枚举 用途 User Interactiv