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

    对每一个使用 Core Data 的开发者来说,用 Xcode 的 Core Data 模型编辑器构建数据模型、创建容器、加载数据模型并通过托管对象上下文最终创建托管对象实例,这都是十分普通的过程。但你是否好奇过这一切的内部运行机制,Core Data 是如何在幕后辅助我们完成这一切的?本文将深入探究 Core Data 是如何通过数据模型构建出托管对象实例的内部运行机制,读完本文可以让你对 Core Data 的工作流程有更深入的理解,在开发中可以更得心应手。

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

    作为 Core Data 的继任者,全新的 SwiftData 框架在 WWDC 2023 上正式发布。SwiftData 预计会在未来很长一段时间内成为苹果生态系统的主要对象图管理和数据持久化解决方案,为开发者提供服务与支持。本文将讨论,在不使用 Core Data 数据栈的情况下,开发者如何在 SwiftData 中调用 Core Data 提供的高级功能,以扩展 SwiftData 目前的能力。

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

    SwiftUI 因其简便的动画 API 与极低的动画设计门槛而广受欢迎。但是,随着应用程序的复杂性增加,开发者会逐渐发现,尽管动画设计变得前所未有的简单,但要实现精确细致的动画控制并非易事。同时,在 SwiftUI 的动画系统中,Transaction 始终有点像谜一样的存在。无论是官方资料还是第三方文章,都很少对其运作机制进行系统的阐述。本文将通过探讨 Transaction 的原理、作用、创建和分发逻辑等内容,告诉读者如何在 SwiftUI 中实现更加精确的动画控制,以及需要注意的其他问题。

  • 移植五周年

    这几天在医院对身体各方面进行了一次比较全面的检查,结果比较令人满意。一转眼,接受肾移植已经 5 周年了,写一篇博文,对这些年的身体以及治疗情况进行了一个汇总。

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

    作为 SwiftUI 最引人注目的功能之一,预览功能吸引了不少开发者初次接触 SwiftUI。然而,随着项目规模的增长,越来越多的开发者发现预览功能并不如最初想象的那么易用。由于预览崩溃的次数和场景的增加,一些开发者已经视预览为 SwiftUI 的缺点之一,并对其产生了排斥感。预览功能真的如此不堪吗?我们当前使用预览的方式真的妥当吗?我将通过两篇文章来分享我对预览功能的认知和理解,并探讨如何构建稳定的预览。本文将首先剖析预览功能的实现机制,让开发者了解哪些情况是预览必然无法处理的。