SwiftUI onAppear 异常调用的陷阱与应对策略

Core Data 的模型继承

Typefully:轻松告别繁琐的社交媒体发布

有意为之还是技术缺陷?SwiftUI 多层导航中的 onChange 异常

在 SwiftData 和 Core Data 中用 Transaction 代替 Save

理解 SwiftUI 的视图刷新机制:从 TimelineView 刷新问题谈起

掌握 Core Data 和 SwiftData 中的数据追踪与通知

从项目重构说起:五个 Swift 模块分享

从基础到进阶:Swift 中的 KeyPath 完全指南

以 SwiftData 之道,重塑 Core Data 开发

SwiftUI 中的 UserDefaults 与 Observation:如何实现精准响应

NSManagedObjectID 与 PersistentIdentifier:掌握 Core Data 与 SwiftData 中的数据标识符

用 Swift Charts 实现数据分段

在 SwiftData 模型中使用 Codable 和枚举的注意事项

嵌套 Grid 布局异常:遇到 SwiftUI 布局问题时的分析思路与解决策略

如何在 SwiftUI 中平铺图片

几个常见的关于 SwiftUI 的误解

使用 SwiftUI 开发无限四向滚动分页组件

多包单库中的 String Catalog 自动合并技巧

List 还是 LazyVStack:SwiftUI 中的惰性容器选择

Swifter and Swifty:掌握 Swift Testing 框架

SwiftUI 滚动控制 API 的发展历程与 WWDC 2024 的新亮点

用 TextRenderer 构建绚丽动感的文字效果

WWDC 2024 观后感

SwiftData in WWDC 2024:革命仍在继续、稳定还需时日

写在 WWDC 2024 之前:SwiftData 的未来潜力与现实挑战

写在 WWDC 2024 之前:回顾 2019 至 2023 年间 SwiftUI 的关键升级及其影响

在 SwiftUI 中,spacing = nil 表示什么?

精通 SwiftUI 的 containerRelativeFrame 修饰器

用 Swift 开发嵌入式应用

深入探索 SwiftUI 中的 Overlay 和 Background 修饰器

Core Data 改革:实现 SwiftData 般的优雅并发操作

@State 魅影:一个多窗口模式下 SwiftUI 应用的 Bug 分析

新框架、新思维:解析 Observation 和 SwiftData 框架

SwiftUI 视图与 @MainActor

SwiftData 实战:用现代方法构建 SwiftUI 应用

几个在 SwiftUI 中使用惰性容器的技巧和注意事项

如何为 SwiftData 动态的构建复杂的谓词

Swift Predicate: 用法、构成及注意事项

如何处理 SwiftData 谓词中的可选值

探讨 SwiftUI 中的属性包装器:@UIApplicationDelegateAdaptor、@AccessibilityFocusState、@FocusedObject、@FocusedValue 和 @FocusedBinding

探讨 SwiftUI 中的属性包装器:@FetchRequest、@SectionedFetchRequest、@Query、@Namespace、@Bindable

探讨 SwiftUI 中的属性包装器:@AppStorage、@SceneStorage、@FocusState、@GestureState 和 @ScaledMetric

SwiftData 中的关系:变化与注意事项

掌握 Core Data 中的关系:实战

掌握 Core Data 中的关系:基础

博客更新记:用新博客迎接 2024

探讨 SwiftUI 中的关键属性包装器:@State、@Binding、@StateObject、@ObservedObject、@EnvironmentObject 和 @Environment

iCloud Documents 进阶:理解占位文件、空间优化与操作技巧

iCloud Documents 详解:基础设置与文件操作

SwiftUI geometryGroup() 指南:从原理到实践

与 AI 结对编程

掌握 ViewThatFits

GeometryReader :好东西还是坏东西?

如何通过 Persistent History Tracking 观察 SwiftData 的数据变化

掌握 TipKit:进阶

掌握 TipKit:基础

SwiftData 中的并发编程

揭秘 SwiftData 的数据建模原理

CoreData 探秘 - 从数据模型构建到托管对象实例

SwiftDataKit:让你在 SwiftData 中使用 Core Data 的高级功能

解析 SwiftUI 中两处由状态更新滞后引发的严重 Bug

WWDC 2023 Core Data 有哪些新变化

掌握 Transaction,实现 SwiftUI 动画的精准控制

深度解读 Observation —— SwiftUI 性能提升的新途径

深入了解 SwiftUI 5 中 ScrollView 的新功能

WWDC 23 ,SwiftUI 5 和 SwiftData 的初印象

移植五周年

构建稳定的预览视图 —— SwiftUI 预览的工作原理

WWDC 2023 我期待 Core Data 带来的新变化

WWDC 2023 我期待 SwiftUI 带来的新变化

我在北京参加 SwiftUI 技术沙龙

打造可适配多平台的 SwiftUI 应用

我目前正在使用的 AI 服务

onAppear 的调用时机

MacBook Pro 使用体验

SwiftUI + Core Data App 的内存占用优化之旅

用 SwiftUI 的方式进行布局

一段因 @State 注入机制所产生的“灵异代码”

自定义 Button 的外观和交互行为

SwiftUI 与 Core Data —— 安全地响应数据

SwiftUI 与 Core Data —— 数据获取

SwiftUI 与 Core Data —— 数据定义

SwiftUI 与 Core Data —— 问题

在 SwiftUI 中创建自适应的程序化导航方案

在多包项目中统一管理资源

Ask Apple 2022 与 SwiftUI 有关的问答(下)

Ask Apple 2022 与 SwiftUI 有关的问答(上)

Ask Apple 2022 中与 Core Data 有关的问答 (下)

Ask Apple 2022 中与 Core Data 有关的问答 (上)

聊一聊可组装框架( TCA )

StateObject 与 ObservedObject

iBug 16 有感

一些适合 SwiftUI 初学者的教程

如何判断 ScrollView、List 是否正在滚动中

老人新兵 —— 一款 iOS APP 的开发手记

在 SwiftUI 中实现视图居中的若干种方法

在 Text 中实现基于关键字的搜索和定位

在 SwiftUI 中用 Text 实现图文混排

掌握 SwiftUI 的 task 修饰器

避免 SwiftUI 视图的重复计算

实时切换 Core Data 的云同步状态

SwiftUI 布局 —— 尺寸( 下 )

SwiftUI 布局 —— 尺寸( 上 )

SwiftUI 布局 —— 对齐

用 Table 在 SwiftUI 下创建表格

SwiftUI 4.0 的全新导航系统

如何在 Core Data 中进行批量操作

Core Data 是如何在 SQLite 中保存数据的

在 SwiftUI 视图中打开 URL 的若干方法

为自定义属性包装类型添加类 @Published 的能力

SwiftUI 的动画机制

我正在使用中的博客创作工具

优化在 SwiftUI List 中显示大数据集的响应效率

在 SwiftUI 中用 zIndex 调整视图显示顺序

ViewBuilder 研究(下) —— 从模仿中学习

ViewBuilder 研究(上)—— 掌握 Result builders

SwiftUI Overlay Container 2 —— 可定制、高效、便捷的视图管理器

博客暂时停更通知

在 Core Data 中查询和使用 count 的若干方法

在 SwiftUI 下定制手势

玩转 Xcode Playground(下)

玩转 Xcode Playground(上)

Swift Playgrounds 4 娱乐还是生产力

在 SwiftUI 下使用 NSUbiquitousKeyValueStore 同步数据

聊聊 Combine 和 async/await 之间的合作

SwiftUI 视图的生命周期研究

掌握 SwiftUI 的 Safe Area

如何在 Core Data 中对 NSManagedObject 进行深拷贝

用苹果官方 API 实现 iOS 备忘录的扫描文稿功能

关于 Core Data 并发编程的几点提示

掌握 Core Data Stack

了解 SwiftUI 的 onChange

如何在 Core Data 中使用 Derived 和 Transient 属性

SwiftUI TextField 进阶 —— 事件、焦点、键盘

聊聊两年来我使用【健康笔记】的体会以及近几年的身体状况

SwiftUI TextField 进阶 —— 格式与校验

AttributedString —— 不仅仅让文字更漂亮

WWDC 2021 新 Formatter API:新老比较及如何自定义

如何对 iOS 应用中的文本进行本地化

在 Spotlight 中展示应用中的 Core Data 数据

SheetKit —— SwiftUI 模态视图扩展库

如何在 SwiftUI 中实现 interactiveDismissDisabled

Core Data with CloudKit (六) —— 创建与多个 iCloud 用户共享数据的应用

用 Async-Await 重建 SwiftUI 的 Redux-like 状态容器

用 NavigationViewKit 增强 SwiftUI 的导航视图

如何在 Xcode 下预览含有 Core Data 元素的 SwiftUI 视图

在 SwiftUI 中使用 UIKit 视图

博客更新记

Core Data with CloudKit(五)—— 同步公共数据库

Core Data with CloudKit(四)—— 调试、测试、迁移及其他

Core Data with CloudKit(三)—— CloudKit 仪表台

Core Data with CloudKit(二) —— 同步本地数据库到 iCloud 私有数据库

Core Data with CloudKit (一) —— 基础

@AppStorage 研究

在 CoreData 中使用持久化历史跟踪

WWDC 2021 观后感

在 Linux 系统上搭建 Swift 开发调试环境

用 Publish 创建博客(三)—— 插件开发

用 Publish 创建博客(二)—— 主题开发

用 Publish 创建博客(一)—— 入门

在 SwiftUI 下对 iPad 进行适配

聊一下在 SwiftUI 中使用 CoreData

介绍几个我在开发健康笔记 2 用到的 Swift 或 SwiftUI 第三方库

健康笔记 2.0 开发随笔(六)

健康笔记 2.0 正式版完成了!

健康笔记 2.0 开发随笔(五)

健康笔记 2.0 开发随笔(四)

在 SwiftUI 中制作可以控制取消手势的 Sheet

健康笔记 2.0 开发随笔(三)

如何在 SwiftUI 中创建一个实时响应的 Form

在 SwiftUI 中,根据需求弹出不同的 Sheet

健康笔记 2.0 开发随笔(二)

聊一下 SwiftUI 中的 List 和 ForEach

健康笔记 2.0 开发随笔(一)

SwiftUIOverlayContainer ——可以实现各种自定义样式弹出视图的 SwitUI 库

用 SwiftUI 实现 iOS mail 程序的侧滑菜单

HowTo —— SwiftUI2.0 文件导入导出

HowTo —— SwiftUI2.0 使用 ScrollViewReader 定位滚动位置

HowTo —— SwiftUI2.0 使用 ProgressView 显示进度条

HowTo —— 使用 onOpenURL 处理 Universal Links

HowTo —— SwiftUI2.0 使用 ToolBar 替代 navigationbarItems

HowTo —— SwiftUI2.0 使用 Link 或 openURL 打开 URL scheme

HowTO —— SwiftUI2.0 原生的 Grid

HowTo —— SwiftUI2.0 如何使用 Label

HowTo —— SwiftU2.0 LazyVStack LazyHStack

HowTo —— Swift2.0 在视图中显示地图

SwiftUI 2.0 —— App、Scene、新的代码结构(二)

SwiftUI 2.0 —— App、Scene、新的代码结构(一)

@FocusedBinding 浅谈

SwiftUI 2.0 —— Commands(macOS 菜单)

SwiftUI 2.0 —— @StateObject 研究

ObservableObject 研究 —— 想说爱你不容易

@State 研究

Vapor4 的安装与配置

时隔多年,重新创建了博客