首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
Swift学习专栏
unravel2025
创建于2022-11-28
订阅专栏
记录本人在学习Swift过程中的精彩文章或者各种小妙招等等,内容来自 https://www.swiftwithvincent.com/、https://sarunw.com/posts/、 等博客
等 55 人订阅
共102篇文章
创建于2022-11-28
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
我们真的需要 typealias 吗?——一次 Swift 抽象成本的深度剖析
在日常 Swift 开发里,typealias 是一个高频出现的小工具: 它能让冗长的类型签名变短、让业务语义更突出,还会带来“零运行时开销”的错觉。 然而,当我们把它放到更大的团队协作、更长的生命周
ByAI-Swift 6 全览:一份面向实战开发者的新特性速查手册
Swift 6 不是一次“小步快跑”,而是 Apple 在并发安全、泛型系统、跨平台一致性与嵌入式场景四大方向的“集中爆发”。 版本回溯:从 Swift 5.1 → 6.0 的关键里程 Swift 版
Swift 中 let 与 var 的真正区别:不仅关乎“可变”与否
很多初学 Swift 的同学会把 let 和 var 的区别简单记忆成“常量 vs 变量”。 但在实际工程中,这条规则只是起点。选择 let 还是 var 会直接影响代码的安全性、可读性,甚至运行时性
深入理解 Swift 6.2 并发:从默认隔离到@concurrent 的完整指南
背景:为什么需要 Swift Concurrency? 在 SwiftUI 出现之前,我们用 GCD(Grand Central Dispatch)做线程切换; Swift 5.5 引入的 Actor
Swift Concurrency:彻底告别“线程思维”,拥抱 Task 的世界
前言:别再问“它跑在哪个线程?” 在 GCD 时代,我们习惯用 DispatchQueue.global(qos: .background).async { ... } 或 DispatchQueue
深入理解 Swift 中的 async/await:告别回调地狱,拥抱结构化并发
Swift 5.5 在 WWDC 2021 中引入了 async/await,随后在 Swift 6 中进一步完善,成为现代 iOS 开发中处理并发的核心工具。它不仅让异步代码更易读写,还彻底改变了我
深入理解 SwiftUI 的 ViewBuilder:从隐式语法到自定义容器
SwiftUI 的声明式语法之所以优雅,一大功臣是隐藏在幕后的 ViewBuilder。它让我们可以在 body 或 HStack、VStack 等容器的闭包里随意组合多个视图,而无需手动把它们包进
在 async/throwing 场景下优雅地使用 Swift 的 defer 关键字
在日常 Swift 开发中,我们经常需要在多出口的函数里做清理工作:关闭文件句柄、归还数据库连接、把布尔值复原……如果每个出口都手写一遍,既啰嗦又容易遗漏。 Swift 提供了 defer 关键字,让
当Swift Codable遇到缺失字段:优雅解决数据解码难题
在Swift开发中,我们经常使用Codable协议轻松实现JSON数据与模型对象的自动转换。 但实际开发中常会遇到这种棘手问题:需要解码的模型中包含某些字段,但这些关键数据却不在当前接收到的JSON中
Swift 结构体属性:let 与 var 的选择艺术
在 Swift 开发中,结构体(struct)的属性声明常面临 let 与 var 的抉择。本文将从多个维度解析两者的差异,并结合实际场景提供决策建议。 一、基础差异:不可变性与初始化行为 1. 不可
使用 Swift 的 defer 管理状态清理(译文)
在异步函数中处理清理逻辑时,defer语句能确保代码在当前作用域退出前执行,无论函数是正常结束、抛出错误还是被提前返回。本文将通过一个常见场景——显示/隐藏加载指示器——演示 defer的用法。 典型
把 GPT 塞进 iPhone:iOS 26 的 Foundation Models 框架全解析
十分钟学会调用苹果原生大模型,不联网、不走流量、不丢隐私 一、为什么开发者要开始关心「苹果自己的大模型」? WWDC 24 的 Platforms State of the Union 上,苹果第一次
Swift 6.2 中的 `@concurrent`
核心概念 @concurrent 是 Swift 6.2 引入的新特性,用于明确标记需要卸载到全局执行器(后台线程)的函数。它与 nonisolated(nonsending) 共同构成 Swift
ByAI:iOS 生命周期:AppDelegate 与 SceneDelegate 中的 `willEnterForeground` 方法解析
背景 苹果在 iOS 18.4 及后续版本中要求应用逐步迁移到基于场景的生命周期(Scene-Based Lifecycle) 。若未适配,系统会提示警告,未来版本甚至可能禁止未适配的应用启动。本文重
ByAI:使用DRY原则编写干净可复用的Swift代码
什么是DRY? DRY代表:不要重复你自己(Don't Repeat Yourself) 这个编程原则鼓励避免逻辑重复,通过函数/扩展/泛型等Swift工具复用代码。为什么?因为重复代码更难维护,增加
ByAI:Swift6.2新特性学习
1. 控制isolation的默认Actor推断(SE-0466) 核心功能:允许模块通过编译器标志-default-isolation MainActor,将isolation类型和函数的actor
Swift6.2中的default isolation
背景 Swift6.2的新特性中有一项,允许开发者控制默认的隔离上下文(Isolation) ,支持将 @MainActor 设为模块或文件级别的默认隔离环境。 核心概念 1. 静态隔离(Static
学习Swift,这些资料可供参考
Swift作为苹果后起的主力语言在其生态中扮演者越来越重要的角色。OC从诞生到现在已经四十多年的历史了,虽然它依然是很多现有工程的主力开发语言,但毫无疑问,后续新起的App或新的系统功能特性将会以Sw
Swift 6.1新特性学习
允许列表中的尾部逗号(SE-0439) 现在数组、字典、元组、函数调用、泛型参数、字符串插值以及由括号、方括号[]或尖括号约束的项目列表的任何位置都允许使用尾随逗号,提升多行代码的可维护性。 应用场景
ByAI:Task.sleep() 与 Task.yield() 的区别解析
在Swift并发编程中,Task.sleep()和Task.yield()都能暂停任务执行,但二者适用场景和机制有显著差异。以下通过示例和对比说明它们的核心区别。 1. Task.sleep():延迟
下一页