首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
关注
综合
后端
前端
Android
iOS
人工智能
开发工具
代码人生
阅读
排行榜
综合
后端
排行榜
前端
Android
iOS
人工智能
开发工具
代码人生
阅读
全部
Swift
iOS
前端
Apple
SwiftUI
Flutter
HarmonyOS
架构
Android
展开
全部
Swift
iOS
前端
Apple
SwiftUI
Flutter
HarmonyOS
架构
Android
APP
WWDC
uni-app
Xcode
客户端
面试
暂无数据
推荐
最新
Swift 并发避坑指南:自己动手实现“原子”属性与集合
为什么需要“原子”操作? Swift 没有现成的 atomic 关键字。当多个线程/任务同时读写同一属性或集合时,会出现: 读到中间状态(数组越界、字典重复 key) 丢失更新(值类型复制-修改-写回
Swift 6.2 新语法糖:在字符串插值里直接给 Optional 写默认值
一句话看懂新特性 旧写法(nil-coalescing) 新写法(Swift 6.2 插值默认值) 异类型痛点:旧语法搞不定 省去了手动 .map(String.init) ?? "Unknown"
Swift异步详解
Swift 的异步编程模型是现代 Swift 开发的核心特性之一,尤其在 Swift 5.5 引入 async/await 语法后,极大简化了异步操作的处理。以下是对 Swift 异步编程的详细解析:
窥探 `@Observable` 的“小黑盒”:private 属性到底会不会被观察?
问题抛出 直觉:private = 对外隐藏 = 不生成观察代码? 真相:除非加 @ObservationIgnored,否则一律观察,与可见性无关! 验证工具:SIL(Swift Intermedi
强制 SwiftUI 重新渲染:`.id()` 这把“重启键”你用对了吗?
为什么需要“强制 reload”? SwiftUI 的声明式 DSL 依赖 状态 diff 自动更新视图,但以下场景需要“硬重启”: 网络请求失败后的“重试”按钮 图片/视频加载损坏,需重新解码 底层
韦爵爷闯荡 Swift 6 江湖:单例秘籍新解(上)
陈近南继续说道,“它怕的是‘多线程同时修改状态’—— 就像两个小兵同时改变战力值,一个加 10,一个减 5,最后账本上可能不是 105,而是 95 或者 110(数据竞态)。这种‘暗箱操作’,在新江湖
韦爵爷闯荡 Swift 6 江湖:单例秘籍新解(中)
讲完 “靠山令” 和 “免死牌”,陈近南话锋一转:“小宝,你还记得那道‘非 Sendable’的红牌吗?其实‘身份验证总舵’的问题,比‘战力账本’更棘手 —— 它不仅要管内部可变状态,还得拿‘Send
惊!只是 `import Foundation`,`String.contains("")` 的返回值居然变了?
两行代码,两种结果 是否 import Foundation "".contains("") "abc".contains("") ❌ 纯 Swift true true ✅ + Foundation
吃透 Swift 的 `@autoclosure`:把“表达式”变“闭包”的延迟利器
什么是 @autoclosure? 一句话:把“传入的表达式”自动包成“无参闭包”,实现延迟求值(lazy evaluation)。 语法糖级别:调用方完全无感,只需像传普通值一样写表达式;函数内部拿
Swift 6.2 新武器:`weak let` —— 既弱引用又不可变的安全魔法
为什么需要 weak let? 需求场景 weak var的痛点 weak let的新能力 并发安全的 Sendable类型 weak var无法标记 Sendable ✅ 可以 不可重新赋值的弱引用
彻底搞懂 Swift 的 Any、AnyObject、any
一张速查表先拎清 名称 具体类型 能容纳 典型场景 Swift 版本 Any 顶层类型(具体类型) 任意值(含函数、元组、struct、class) 与旧 API 交互、极少数极端动态场景 1.0+
Swift 的 Optional.take():一次性消费值的神器
什么是 take()? take() 是 Swift6 标准库提供的 Optional 实例方法: “如果有值就返回它,同时把自己置为 nil;如果已经是 nil 就返回 nil。” 等价于“原子地消
打造零泄漏的 Swift 代码:三套实用工具完整指南
为什么需要这三件套? 痛点 工具 一句话作用 保留循环导致 Coordinator/VM 不释放 MemoryLeakMonitor 运行时断言实例数量 Delegate 数组、观察者列表强引用 @W
iOS26适配指南之Liquid Glass App Icon
Xcode 26 Icon Composer 提供一站式全平台图标设计方案,尤其适合 Liquid Glass 风格。
DiffableDataSource in iOS
DiffableDataSource是iOS 13引入的一种全新的列表(UITableView、UICollectionView)的构建、更新方式 为什么要引入新的方式 传统写法存在几个问题: 更新时
@Observable 遇上属性包装器:一键绕过‘计算属性’禁令的 Swift 5.9 实战技巧
在 Swift 5.9 引入的 @Observable 宏(Observable framework)让“全部属性默认被观察”成为可能,但也带来了一个副作用: 下面给出原因剖析 + 最小修复示例 +
如何绕过“Extensions must not contain stored properties”错误
为什么 Swift 禁止扩展里存值? Swift 扩展(extension)不能增加存储属性,原因有三: 内存布局已确定 类/结构体的大小在编译期就固定,随意加字段会破坏 ABI。 类型安全 允许多个
OptionSet vs Enum:Swift 中如何优雅地表达“多选”?
两种“多选”方案的基因差异 维度 OptionSet Enum + Set 底层模型 位图(bitset) 哈希集合(HashSet) 存储大小 固定位宽(UInt8/Int/UInt64) 动态哈希
Swift 中的可调用类型:彻底搞懂 `callAsFunction`、`@dynamicCallable` 与 `@dynamicMemberLookup`
在 Swift 5.2 及以后,语言引入了几组看似“语法糖”的特性: callAsFunction:让实例像函数一样被调用 @dynamicCallable:让实例支持动态参数调用(类似 Python
深入理解 Swift 的 `withExtendedLifetime`:原理、场景与实战
为什么要延长对象生命周期? Swift 的 ARC(自动引用计数) 会在最后一次强引用解除时立即释放对象。在绝大多数情况下,这是正确的行为。 但在以下场景,“立即释放”反而会导致崩溃或逻辑错误: C/