-->
本文将探讨如何在 SwiftData 和 Core Data 中运用事务(Transaction)的...
本文将通过一个看似简单但颇具代表性的 TimelineView 刷新问题,探讨 SwiftUI 的视...
本文将带你探索从简单的自定义通知,到强大的持久化历史追踪(Persistent History Tr...
最近,我着手重构这个已有四年未进行大更新的应用。重构过程中,我将部分功能模块提取出来并开源分享。本文...
本文旨在深入剖析 KeyPath 的功能特性,揭示其在 Swift 编程中的独特魅力,帮助你将它转化...
本文将探讨如何在 Core Data 中应用 SwiftData 的思维方式,重点关注数据建模和并发...
本文将探讨如何在 Observation 框架下高效且便捷地管理 UserDefaults 中的数据...
本文将深入探讨 Core Data 和 SwiftData 中的 NSManagedObjectID...
本文将探讨如何利用 Swift Charts 提供的先进 API 来实现精准而高效的数据分段。数据分...
本文旨在探讨在 SwiftData 模型中使用 Codable 和枚举时需要注意的几个关键点,帮助开...
本文将通过剖析一个 Grid 布局异常的案例,探讨在日常 SwiftUI 开发中遇到问题时的分析思路...
在本文中,我们将探讨在 SwiftUI 中两种不同的图片平铺实现方式,并由此引申出一种较少使用的 `...
本文旨在探讨几个关于 SwiftUI 的常见误解,以帮助开发者更好地理解和运用 SwiftUI。
本文中我们将分析实现一个无限四向滚动分页组件过程中的关键思路,讨论需要特别注意的事项,并坦诚地审视 ...
本文介绍了一种方法,可以在构建主应用时自动合并多个包中的 String Catalog,无需额外的脚...
本文旨在剖析 SwiftUI 中 List 和 LazyVStack 组件的特点、优势,以帮助开发者...
在本文中,我们将深入探讨 Swift Testing 框架的特性、用法和其独特之处,分析它如何帮助开...
本文将探讨 WWDC 2024 最新的滚动控制 API,并回顾从 SwiftUI 诞生至今与滚动控制...
在 WWDC 2024 上,SwiftUI 推出了 TextRenderer 协议,赋予开发者调整 ...
在 WWDC24 中,苹果向开发者们展示了一系列对未来将产生深远意义的新特性和功能。我将对几个感触较...
本文将评述 WWDC 2024 中 SwiftData 更新版本的表现,并分享我在首次体验新版时内心...
本文将评估 SwiftData 自首次发布以来,在 Xcode 15 期间(即首个大版本)的整体表现...
在这篇文章中,我将梳理从首个版本起那些给我留下深刻印象的 SwiftUI 关键更新及其影响。这不仅是...
本文将深入探讨 SwiftUI 中的 Spacing 概念,并分享一些相关的技巧及注意事项。
本文将深入探讨 containerRelativeFrame 修饰器,内容涵盖定义、布局规则、使用场...
近年来,Swift 逐渐展现出其跨平台开发的潜能。在本文中,我将分享我使用 Swift 语言在 Sw...
本文将深入探索 overlay 和 background 视图修饰器的独特属性,明确它们与 ZSta...
本文旨在探讨如何在 Core Data 中引入类似 SwiftData 的优雅和安全的并发操作,以实...
本文将探讨一个影响多窗口模式下 SwiftUI 应用的 Bug,并提出有效的临时解决策略。
这是我在 Let's VisionOS 2024 上的演讲内容。中心思想:尽管这些新框架是为了解决现...
本文将聊聊 @MainActor 的含义,以及在 SwiftUI 的视图中应用 @MainActor...
本文将采用类似教程的方式阐述如何将 SwiftData 与现代编程理念相结合,顺畅地融入 Swift...
本文将探讨一些实用技巧和注意事项,旨在赋予开发者利用 SwiftUI 惰性容器时增强应用响应性和资源...
本文旨在探索如何实现类似 NSCompoundPredicate 的能力,动态地构建出符合 Swif...
本文旨在探讨 Swift Predicate 的使用方法、构成以及在实际开发中应注意的关键事项。
本文将探讨在构建 SwiftData 的谓词( Predicate)时,处理可选值的一些技巧和注意事...
在本文将介绍 @UIApplicationDelegateAdaptor、@Accessibilit...
在本文将介绍 @FetchRequest、@SectionedFetchRequest、@Query...
在本文将介绍 @AppStorage、@SceneStorage、@FocusState、@Gest...
本文将重点介绍 SwiftData 在关系方面发生的变化,以及由此带来的潜在挑战和值得注意的细节。
本文将分享关于处理 Core Data 关系的一些实用经验和技巧。目的是为了帮助开发者更有效地利用 ...
在本文中,我们将深入探讨 Core Data 中关系的基本概念,同时提供关于实现这些关系的重要指导和...
本文记录了我使用人工智能和新的前端技术重构博客的过程和体会。
本文将探讨 SwiftUI 中的关键属性包装器:@State、@Binding、@StateObje...
在前文《iCloud Documents 详解:基础设置与文件操作》中,我们探索了 iCloud D...
iCloud 文档(iCloud Documents)是苹果公司提供的一项云存储和同步服务,旨在使用...
在 WWDC 2023 中,苹果为 SwiftUI 添加了一个新的修饰器:geometryGroup...
在过去的两周时间里,在 AI 的辅助下,我在一个不熟悉的开发环境中使用陌生的语言和框架启动了博客的重...
在 iOS 16 中,SwiftUI 增加了一个新的自适应布局容器 ViewThatFits。正如其...
GeometryReader 自 SwiftUI 诞生之初就存在,它在许多场景中扮演着重要的角色。然...
在数据库发生变化时 Persistent History Tracking( 持久化历史跟踪 )会向...
在上文中,我们介绍了 TipKit 的基础用法。在本文中,我们将讨论一些与 TipKit 相关的进阶...
TipKit 是苹果在 WWDC 2023 上新推出的一个框架,可轻松在你的应用程序中显示提示。它可...
在 Core Data 中进行并发编程可能并不困难,但是充满了陷阱。即使对 Core Data 有充...
在 SwiftData 的数项改进中,用纯代码声明数据模型无疑给 Core Data 开发者留下了深...
对每一个使用 Core Data 的开发者来说,用 Xcode 的 Core Data 模型编辑器构...
作为 Core Data 的继任者,全新的 SwiftData 框架在 WWDC 2023 上正式发...
本文将解析 SwiftUI 中两个由于未能贯彻响应式编程原则而导致的严重错误,并提供相应的解决方案。...
虽然在 WWDC 2023 上,苹果将主要精力放在介绍新的数据框架 SwiftData 上,但作为 ...
SwiftUI 因其简便的动画 API 与极低的动画设计门槛而广受欢迎。但是,随着应用程序的复杂性增...
本文将全面而详尽地探讨 Observation 框架,内容涉及其产生原因、使用方法、工作原理以及注意...
在 SwiftUI 5.0 中,苹果大幅强化了 ScrollView 功能。新增了大量新颖、完善的 ...
WWDC 2023 正在如火如荼地进行。苹果不仅带来了全新形态的硬件产品,还推出了几个相当震撼的新框...
这几天在医院对身体各方面进行了一次比较全面的检查,结果比较令人满意。一转眼,接受肾移植已经 5 周年...
作为 SwiftUI 最引人注目的功能之一,预览功能吸引了不少开发者初次接触 SwiftUI。然而,...
本文列出了个人对于 WWDC 2023 上 Core Data 的愿望单,期待看到的功能改进和新特性...
本文列出了个人对于 WWDC 2023 上 SwiftUI 的愿望单,期待看到的功能改进和新特性。
4 月 18 日和 20 日,苹果分别在上海和北京举办了两场“SwiftUI 技术沙龙”活动。由于近...
本文是笔者参加 2023 年 4 月 20 日 “SwiftUI 技术沙龙( 北京站 )” 活动的分...
随着 ChatGPT 的火爆,生活中好像突然之间到处都充满了有关人工智能的话题。尽管对新技术、新事物...
onAppear( task )是 SwiftUI 开发者经常使用的一个修饰符,但一直没有权威的文档...
MacBook Pro 14' 已经使用一周了,今天我们来聊聊这次换机的过程以及对新机器的感受。
尽管 SwiftUI 的惰性容器以及 Core Data 都有各自的内存占用优化机制,但随着应用视图...
最近时常有朋友反映,尽管 SwiftUI 的布局系统学习门槛很低,但当真正面对要求较高的设计需求时,...
本文将通过一段可复现的“灵异代码”,对 State 注入优化机制、模态视图( Sheet、FullS...
通过 Style 改变组件的外观或行为是 SwiftUI 提供的一项非常强大的功能。本文将介绍如何通...
保证应用不因 Core Data 的原因导致意外崩溃是对开发者的起码要求。本文将介绍可能在视图中产生...
本文中我们将探讨在 SwiftUI 视图中批量获取 Core Data 数据的方式,并尝试创建一个可...
在上文中,我列举了一些在 SwiftUI 中使用 Core Data 所遇到的困惑及期许。在今后的文...
我使用 Core Data 已经有三年的时间了,虽然至今也不能算是完全掌握,但基本上可以做到熟练使用...
随着苹果对 iPadOS 的不断投入,越来越多的开发者都希望自己的应用能够在 iPad 中有更好的表...
随着 SPM( Swift Package Manager ) 功能的不断完善,越来越多的开发者开始...
本文整理了 Ask Apple 2022 活动中与 SwiftUI 相关的一些问答,提供了解决方案和...
Ask Apple 为开发者与苹果工程师创造了在 WWDC 之外进行直接交流的机会。本文对本次活动中...
本文将聊聊一个与创建复杂的 SwiftUI 应用很契合的框架 —— The Composable ...
本文将 StateObject 和 ObservedObject 间的异同,原理以及各自适合的使用场...
到 2022 年,SwiftUI 已经迈入了第四个年头。尽管在之前的版本更新过程中,SwiftUI ...
经常有朋友咨询,学习 SwiftUI 的最佳路径是什么?考虑到每个人的技术背景、学习能力、工作经验均...
判断一个可滚动控件( ScrollView、List )是否处于滚动状态在某些场景下具有重要的作用。...
本文是 2020 年初,我在知乎上写的一篇文章。记录了我重新开始学习编程的一点心路历程。现在回看起来...
将某个视图在父视图中居中显示是一个常见的需求,即使对于 SwiftUI 的初学者来说这也并非难事。在...
前些日子,一位网友在聊天室中就如何通过 Text + AttributedString 实现类似文章...
本文将介绍一些与 Text 有关的知识,并通过一个实际案例,为大家梳理出在 SwiftUI 中用 T...
随着 Swift 5.5 引入了 async/await 特性,苹果也为 SwiftUI 添加了 t...
随着近年来有关 SwiftUI 的文章与书籍越来越多,开发者应该都已经清楚地掌握了 —— “视图是状...
在 WWDC 2019 上,苹果推出了 Core Data with CloudKit API ,极...
在上篇中,我们对 SwiftUI 布局过程中涉及的众多尺寸概念进行了说明。本篇中,我们将通过对视图修...
在 SwiftUI 中,尺寸这一布局中极为重要的概念,似乎变得有些神秘。无论是设置尺寸还是获取尺寸都...
“对齐”是 SwiftUI 中极为重要的概念,然而相当多的开发者并不能很好地驾驭这个布局利器。在 W...
Table 是 SwiftUI 3.0 中为 macOS 平台提供的表格控件,开发者通过它可以快捷地...
长久以来,开发者对 SwiftUI 的导航系统颇有微词。受 NavigationView 的能力限制...
Core Data 的优势主要体现在对象图管理、数据描述、缓存、延迟加载、内存管理等方面,但在对持久...
Core Data 是一个具备数据持久化能力的对象图框架。相同的对象图在不同的持久化存储类型中( S...
本文将介绍在 SwiftUI 视图中打开 URL 的若干种方式,其他的内容还包括如何自动识别文本中的...
本文将对 @Published 与符合 ObservableObject 协议的类实例之间的沟通机制...
大多初学者都会在第一时间惊叹于 SwiftUI 轻松实现各种动画效果的能力,但经过一段时间的使用后,...
从 2020 年 4 月开始,截至本月,我的博客【肘子的 Swift 记事本】已创建 2 年了。这期...
拥有优秀的交互效果和手感,是很多 iOS 开发者长久以来坚守的原则。同样一段代码,在不同数据量级下的...
本文将对 SwiftUI 的 zIndex 修饰符做以介绍,包括:使用方法、zIndex 的作用域、...
在【ViewBuilder 研究(上)—— 掌握 Result builders】中,我们对 res...
作为一个严重依赖 SwiftUI 的开发者,同视图打交道是最平常不过的事情了。从第一次接触 Swif...
SwiftUI Overlay Container 是一个用于 SwiftUI 的视图容器组件。一个...
我的博客【肘子的Swift记事本】已经上线 2 年了。撰写博客的初衷是想通过文字来记录自己的学习的过...
在 Core Data 中,开发者经常需要面对查询记录数量(count),使用 count 作为谓词...
不同于众多的内置控件,SwiftUI 没有采用对 UIGestureRecognizer(或 NSG...
本文深入研究了 Xcode Playground,重点介绍了辅助代码、资源管理、使用 Playgro...
本系列文章介绍了许多有关 Xcode Playground 的使用技巧,包括稳定性、第三方库、资源管...
赶在 2021 年底,苹果终于发布了 Swift Playgrounds 4,作为近年来最具革命性意...
NSUbiquitousKeyValueStore 是苹果官方提供的用于在设备间共享键值数据的解决方...
本文来聊聊 Combine 和 async/await 它们之间各自的优势、是否可以合作以及如何合作...
本文将作者对 SwiftUI 视图、SwiftUI 视图生命周期的理解和研究做以介绍,供大家一起探讨...
Safe Area(安全区域)是指不与导航栏、标签栏、工具栏或其他视图控制器提供的视图重叠的内容空间...
本文将介绍关于在 Core Data 中对 NSManagedObject 进行深拷贝的技术难点、开...
本文将介绍如何通过 VisionKit、Vision、NaturalLanguage、CoreSpo...
Swift 5.5 提供了盼望已久的 async/await 的功能,为多线程开发带来了前所未有的便...
或许觉得比较枯燥,亦或许感觉 Xcode 提供的模版已经满足了使用的需要,很多 Core Data ...
从 iOS 14 开始,SwiftUI 为视图提供了 onChange 修饰器,通过使用 onCha...
使用过 Core Data 的开发者,一定会在编辑 Data Model 时看到过右侧的属性面板中的...
本文将探讨涉及 SwiftUI TextField 的事件、焦点切换、键盘设置等相关的经验、技巧和注...
2019年中,我有了开发用于记录自己健康数据app的想法,并在同年10月完成了【健康笔记】第一个很简...
SwiftUI 的 TextField 可能是开发者在应用程序中最常使用的文本录入组件了。作为 UI...
在 WWDC 2021 上,苹果为开发者带来了有一个期待已久的功能——AttributedStrin...
本文将通过介绍如何创建符合新 API 的 Formatter,让读者从另一个角度了解新 Format...
本文探讨了如何对 iOS 应用中的文本进行本地化,展示了创建本地化字符串文件、设置复数规则和设备特定...
本文将讲解如何通过 NSCoreDataSpotlightDelegate(WWDC 2021 版本...
SheetKit 是一个 SwiftUI 模态视图的扩展库。提供了数个用于模态视图的便捷展示、取消方...
本文中我们将探讨如何实现一个 SwiftUI 3.0 中新增功能——interactiveDismi...
本文中,我们将探讨如何使用 Core Data with CloudKit 创建使用 NSPersi...
本文介绍了如何使用 Swift 5.5 版本的 Async/Await 功能重构 SwiftUI 的...
由于 SwiftUI 原生提供的导航手段能力有限,因此在之前的版本中,NavigationView ...
本文将探讨导致 SwiftUI 预览崩溃的部分原因,如何在之后的开发中避免类似的崩溃出现以及如何在 ...
本文将通过对 UITextField 的包装来讲解如何在 SwiftUI 中使用 UIKit 视图、...
上个周末,我将博客进行了一番装修升级。我对本次更新的效果比较满意,并非博客变得多好,而是通过此次更新...
本文将介绍如何通过 Core Data with CloudKit 将公共数据库同步到本地,在本地创...
本文将探索 Core Data with CloudKit 项目中常见的问题,包括:初始化错误、模型...
本文详细研究了 CloudKit 仪表台的使用。涵盖了数据库、环境部署、安全角色、索引、记录类型、区...
本篇文章中,我们将探讨 Core Data with CloudKit 应用中最常见的场景——将本地...
Core Data with CloudKit 为 Core Data 应用带来数据云存储和多设备同...
本文探讨的是如何优雅、高效、安全地在 SwiftUI 中使用@AppStorage,在不借助第三方库...
本文介绍了 CoreData 的 Persistent History Tracking 功能。详细...
WWDC 2021 转眼间已经结束一周了。本次 WWDC 苹果一如既往的带来了新的操作系统以及一大堆...
本文的目标是在 Linux 上搭建一个可供生产标准的 Swift 开发调试环境。使用者将获得一个支持...
我们不仅可以利用 Publish 内置的接口来开发插件进行扩展,同时还可以使用 Publish 套件...
拥用强大的主题系统是一个静态网站生成器能否成功的重要原因之一。Publish 采用 Plot 作为主...
Publish 是一款专门为 Swift 开发者打造的静态网站生成器。它使用 Swift 构建整个网...
SwiftUI 创建初衷之一便是可以高效、可靠的适配多个苹果的硬件平台。在健康笔记 2.0 开发初始...
本文并非一个教你如何在 SwiftUI 下使用 CoreData 的教程。主要探讨的是在我近一年的 ...
本文介绍了其中几个在健康笔记开发过程中使用的第三方的开源库
最近这 10 几天,主要的工作都是查找 bug,改进性能,反复测试数据的稳定性,以及更加枯燥的文档准...
经过了大半年的积累和准备,持续了 2 个月的开发,健康笔记 2.0 在昨天上线了。
一晃国庆中秋长假即将结束,距离上次的随笔也有了一段时间。在最近的日子里,我一方面继续着开发的进程,同...
本周没有太多的精力和情绪用来写代码。这两天在原来统一 sheet 管理和实时 Form 的基础上,完...
在前面的两篇文章中,我们探讨了如何制作一个可以判断是否进行了修改的表单,以及如何统一管理 app 各...
本周的由于其他琐事的原因,每天能够用于开发的时间基本上只能保证 2-3 个小时,所以进展不大。不过好...
我的 app 健康笔记主要是对数据的收集、管理,所以对于表单的实时检查、响应的要求比较高。因此制作一...
Sheet 是一个我比较喜欢的交互形式,它可以很好的控制用户的操作行为,让用户的交互逻辑单线条化。在...
在 SwiftUI 中使用 List 可以非常方便快速的制作各种列表。List 其实就是对 UITa...
健康笔记从 2020 年 1 月上线以来,至今已经过了大半年的时间。在这段时间里,我对于 Swift...
SwiftUI 目前可以提供 sheet,fullScreenCover,alert,actions...
随着 SwiftUI2.0 的不断完善,我觉得是时候将我的 app 做一个较大的升级了。之前一直想在...
SwiftUI2.0 中新增了原生的文件导入导出功能。需注意的是对于不同目录下文件的导出行为会有不同...
SwiftUI2.0 增加了滚动定位功能,已经可以较轻松的适应大多数场景的应用。实现手段完全不同于之...
SwiftUI2.0 新增了一些便捷的内置控件,比如说 Label、ProgressView 等。其...
SwiftUI2.0 由于可以采用新的代码架构(Life Cycle SwiftUI App)来组织...
SwiftUI2.0 为了实现更好的多平台支持同时需要兼顾 1.0 版本代码兼容性,提供了一些与已有...
SwiftUI2.0 提供了原生的打开 URL scheme 的功能,我们可以十分方便的在代码中调用...
本文将阐述 SwiftUI2.0 中引入的原生 Grid 控件,包括 LazyVGrid 和 Laz...
SwiftUI2.0 中新增了 Label 控件,方便我们添加由图片和文字组成的标签。
SwiftUI2.0 提供了 LazyVStack 和 LazyHStack,其作用是只有当 Vie...
Swift2.0 中,苹果添加了 Map,让开发者可以非常容易的在 View 中添加需要的地图元素。...
在上篇文章中我们简单了解了 App、Scene,以及几个内置 Scene 的应用。在本文中,我们着重...
本文简单介绍了 SwiftUI2.0 中全新提供的 App 协议、Scene 协议,浅谈了在全新的代...
在苹果 WWDC20 中视频中出现了下面的代码,介绍了一个新的属性包装器@FocusedBindin...
本文介绍了 SwiftUI 2.0 中,如何为 macOS 平台添加菜单。苹果在 SwiftUI2....
WWDC20 刚刚结束,在过去的一周,苹果为开发者带来了巨大的惊喜。由于新特性实在太多,需要不少时间...
本文主要研究在 SwiftUI 中,采用单一数据源 (Single Source of Truth)...
本文试图探讨并分析 SwiftUI 中 @State 的实现方式和运行特征;最后提供了一个有关扩展@...
本文详细介绍了如何在 macOS 和 Ubuntu 环境下安装 Vapor 命令行工具,创建和调试 ...
用 Hexo 创建了一个博客,主要记录自己在开发健康笔记过程中的一点心得和技术总结。