在 SwiftUI 中使用 Core Data 与 CloudKit
在构建 iOS 应用时经常需要持久化存储数据,Core Data 作为 Apple 提供的官方方案之一,现在已经非常成熟了。可以自定义模型,管理对象关系。借助 CloudKit 可以轻松地把数据同步到 iCloud 上。在 SwiftUI 中使用 Core Data 最简单的方式就是创建项目时直接选择 Use Core Data,参考示例代码,可以很轻松的为已有 SwiftUI 项目接入 Core Data。
在构建 iOS 应用时经常需要持久化存储数据,Core Data 作为 Apple 提供的官方方案之一,现在已经非常成熟了。可以自定义模型,管理对象关系。借助 CloudKit 可以轻松地把数据同步到 iCloud 上。在 SwiftUI 中使用 Core Data 最简单的方式就是创建项目时直接选择 Use Core Data,参考示例代码,可以很轻松的为已有 SwiftUI 项目接入 Core Data。
SwiftUI 是 Apple 发布于 WWDC 2019 的 UI 框架,采用声明式语法,具有数据绑定、响应式编程及跨平台(Apple 全家桶)等特征。WWDC22 发布了一些新的 API,大大提升了实用性。
自 iOS15 开始引入专注模式,系统会帮助用户在一段时间内专注于重要的事情。iOS 16 增强了这一功能:使用专注模式过滤器对通知、App 进行设置。
重复事件的规则实现,可以参考 EKRecurrenceRule
,但通常还有额外的需求,例如在日历中标记或者设置提醒。日历标记,如果是使用 EventKit
,可以指定范围进行搜索获得,参考 https://developer.apple.com/documentation/eventkit/retrieving_events_and_reminders。提醒也是可以通过系统 API 进行设置的。这里仅讨论自己实现相应逻辑时一些额外的需求。
自 iOS 16 开始,iPhone 锁屏界面上增加了类似 watchOS 中 Complications 风格的 widget,同时自 watchOS 9 起使用 WidgetKit 构建手表上的 Complications。
Swift Charts 提供了丰富、精美的图表样式来实现数据可视化,从简单的到复杂的,从静态的到动态的,都是开箱即用的,你也可以借由 API 实现丰富的自定义效果。
PhotoKit
可以帮助应用深度集成系统 Photos
,提供管理、编辑、自定义相机等能力,或者为用户提供独有的照片浏览体验。使用 PHPicker
可以方便、安全的在自己的应用中访问系统相册,选择图片。
复杂组件是 watchOS 关键的组成部分,它提供快速地一览重要信息的途径,通过点击,可以定位到应用。从 watchOS 5 开始,富组件功能又提供了使用图像内容即更多组件样式的能力。在 watchOS 7 加入 SwiftUI 后,复杂组件到达了一个新阶段。今天借助于 WidgetKit,复杂组件功能再次更新,使其以小组件的形式,把一览信息的体验带到 iOS 中。
Swift Charts 是由 Apple 提供的新框架,用来展示数据图表信息,基于 SwiftUI 实现。
WeatherKit 提供了全面的全球天气数据,可以很方便地在应用或其他服务中使用。WeatherKIt 提供了原生 Swift API 和 REST API 两种访问方式。可以获取当前和10天内的分时天气预报情况,包含温度、预计降水量、风速、UV 指数等等,以及更多的详细信息。
使用 SwiftUI 更轻松的描述界面、填充数据、更新界面,利用良好的扩展性,使用多种界面布局,构建亲切且直观的用户界面。它采用声明式语法,易于读写,即只需要描述界面的样子,而不是如何构建界面。尤其是在多平台的自适应上,会提供智能默认值。SwiftUI 会随数据模型的改动而自动更新界面。
WWDC 2022 带来了新的 iOS 16,watchOS 9, macOS Ventura, iPadOS 16。还有搭载了 M2 芯片的 MacBook Air 以及 Pro。先了解一下新的 iOS 16,为我们带来了哪些更新和机会呢?