CloudKit CoreData Sqlite教程
文章平均质量分 61
SwiftUI入门后,遇到到第一个问题就是数据存储。本专栏将深入浅出的带领大家全面掌握CoreData使用技巧,让您存储无忧。订阅专栏包含文章、项目源码和技术支持
知识大胖
这个作者很懒,什么都没留下…
展开
-
SwiftUI SQLite数据库存储使用教程大合集(2022年版)
SQLite 是一个 C 语言库,它实现了一个小型、快速、自包含、高可靠性、全功能的 SQL 数据库引擎。SQLite 是一个进程内库,它实现了一个自包含、无服务器、零配置、事务性 SQL 数据库引擎。原创 2022-07-29 21:41:42 · 1676 阅读 · 0 评论 -
SwiftUI 和核心数据:构建数据驱动的应用程序
新一代 Apple 技术堆栈 SwiftUI 和 Core Data 是一个强大的组合,开发人员可以利用它来构建强大的数据驱动应用程序。本指南将探索 Core Data 与 SwiftUI 的结合使用,从基础知识开始,逐步发展到更复杂的应用程序。要了解 SwiftUI 和 Core Data 如何协同工作,我们首先需要在 SwiftUI 应用程序中设置 Core Data 堆栈。这涉及到设置 Core Data 模型并使用@Environment属性包装器来访问 Core Data 托管对象上下文。原创 2023-06-27 08:58:28 · 194 阅读 · 0 评论 -
SwifData教程之 SwiftData 摆脱 CoreData 的复杂性
Model是一个宏,它将 Swift 类转换为由 SwiftData 管理的存储模型。让我们尝试将我们的一个简单数据模型升级为持久模型。在我们的项目中,数据模型 是类或结构。哪些是常规的 Swift 类型。我们只需在顶部添加@Model即可使它们成为持久模型,而无需管理其他文件或工具。例子:我们有一个名为Person 的结构,其中包含一些属性。唔…。它说非类类型不能符合类协议 PersistentModel。这意味着它只能应用于类类型。原创 2023-06-08 12:43:08 · 665 阅读 · 0 评论 -
iOS 17 中的 SwiftData:iOS 开发中的游戏规则改变者, 使用 Swift 原生持久性框架直观地在您的应用程序中持久化数据。
用最简单的话来说,SwiftData是一个旨在让数据持久化像黄油一样顺滑的框架。您不得不与 SQLite 争吵或与 CoreData 搏斗的日子已经一去不复返了。SwiftData 旨在使数据持久化过程更加……迅速!🦸♀️。原创 2023-06-08 12:37:23 · 309 阅读 · 0 评论 -
iOS 应用程序中核心数据的 5 项性能改进
我最喜欢的持久化数据方式是使用 Core Data。它是一个集成的Apple 框架——所以不用担心这里的第三方内容。我喜欢编写一个可测试甚至可以被模拟的 Core Data Manager。但是,可以使您的应用程序可用的性能改进在哪里?原创 2023-05-01 21:19:29 · 84 阅读 · 0 评论 -
从 CloudKit 公共核心数据存储中删除记录
当您尝试使用仪表板或其他同步设备从 CloudKit 的公共数据库中删除记录时,您会遇到问题,即某些设备不会反映更改。删除的记录仍将包含在设备的核心数据存储中,该存储应与 CloudKit 同步,这是为什么呢?这不是错误。这是多个设备在公共 CloudKit 数据库中协同工作的方式。在私有 CloudKit 同步核心数据存储中,记录会立即在所有设备上删除,为什么这在公共数据库中有所不同?原创 2023-05-01 20:27:33 · 252 阅读 · 0 评论 -
SwiftUI CoreData精品完整项目之 家人朋友爱好记录App基于CoreData(教程含源码)
SwiftUI 精品完整项目之 家人朋友爱好记录App(教程含源码)原创 2023-01-27 08:59:53 · 258 阅读 · 0 评论 -
SwiftUI 中使用 Core Data 的快速指南,在 iOS 中将 Core Data 框架与 SwiftUI 结合使用的基础知识 当谈到在 iOS 中持久化复杂的数据结构时,Apple 为我
当谈到在 iOS 中持久化复杂的数据结构时,Apple 为我们提供了 Core Data 框架。使用 Core Data,我们可以对实体及其关系进行建模,保存数据以供离线使用,添加撤消功能等等。查看 Core Data 如何与 SwiftUI 协同工作的最简单方法是创建一个新的 SwiftUI 项目并选择Use Core Data复选标记。Xcode 将生成一个工作示例,我们可以立即试用并查看。让我们逐步了解它。原创 2023-01-18 17:19:05 · 287 阅读 · 0 评论 -
iOS教程之将本地数据库与分页 API 同步的另一种策略
当谈到将本地数据与远程数据源同步时,就是根据 API 的响应在本地数据库中插入、删除和更新实体。考虑到创建、删除或更新发生在分页API 的任意位置,同步变得有点复杂。您可以简单地先删除所有这些,然后再次重新创建实体,或者使用具有特定合并策略的暴力创建新实体,或者根据 API 上指示需要创建、更新哪些数据的指令操作本地数据库或删除。这个故事中的策略是轻量级的,并且以一种更精致的方式,它试图找出需要创建、更新或删除哪些数据,而无需任何额外的指令,而是一个普通的分页 API。原创 2023-01-18 17:14:29 · 257 阅读 · 0 评论 -
如何在 CoreData 中保存图像
有一种方法可以查看您存储的图像,只需在您的控制台中使用以下代码即可。这将引导您到达核心数据模型的 SQLite 文件的目的地。使用Sqlite 的 DBBrowser工具,您可以查看存储的图像和其他数据。我提到的工具就是一个例子,互联网上有大量可用的工具。你可以使用你觉得舒服的。原创 2023-01-18 17:06:25 · 270 阅读 · 0 评论 -
Advanced CoreData:调试查询底层SQLite数据
也许你有一个处理复杂数据的应用程序,也许你正在接管别人开发的应用程序。无论哪种方式,尝试在您的应用程序中调试 CoreData 问题有时都感觉像是一场猜谜游戏。但是,如果您怀疑存在某种与数据相关的问题,您可以使用多种工具:您可以启用 SQL 调试标志以更深入地了解正在发生的事情您可以使用第 3 方 SQLite GUI 来直观地了解您的数据库及其内容的外观(对于模拟器中的 iOS 或 macOS 应用程序)让我们详细看看这些……原创 2023-01-18 17:01:53 · 169 阅读 · 0 评论 -
由实际初学者编写的核心数据初学者指南
编码很难。我知道。我们都知道。不是我对代码的介绍,尽管我经常发现自己像真正的初学者一样挣扎。虽然我可能已经完成了 JavaScript 的初学者课程,或者可能已经设法编写了 HTML/CSS 来生成可运行的网页,但我的编码知识仍然处于入门级水平。我会自豪地说,总有新东西要学(我很想学!虽然丰富的编码资源既很有前途又很有帮助,但我也了解到,许多指南和解释并不是为初学者编写的。因此,在我寻找一种方法使数据能够在我的应用程序中持久存在的过程中,幸运的是,我遇到了作为我的问题的简化解决方案。原创 2023-01-18 16:58:51 · 129 阅读 · 0 评论 -
SwiftUI CoreData教程之如何动态过滤 FetchRequest
现在我想按名称在我的视图中过滤帐户,为此我必须对实体进行DynamicFetchRequestView扩展,如下面的代码片段所示:Account。原创 2023-01-18 16:52:26 · 329 阅读 · 0 评论 -
如何给CoreData 搜索加速
为了加速CoreData搜索。需要索引。根据我的经验,速度的提高从 3 秒到 100,000 件中的 0.3 秒快了 10 倍。不幸的是,Apple 没有关于使用 CoreData 建立索引的文档,而且 WWDC 教程也没有这方面的信息。原创 2023-01-18 16:46:50 · 272 阅读 · 0 评论 -
使用 CoreData 上传和下载 SwiftUI 和图像/音频文件
这显示了我们如何管理图像和音频和视频文件,不直接将它们保存到 CoreData 中,而是保存在 App 的 DocumentsDirectory 中,并使用我们保存在数据库中的 url 来访问和操作它们。每个应用程序都在安装它的设备上分配了空间,我们将图像和音频文件保存在这里,为我们的应用程序获取此位置的路径,然后使用 SwiftUI 代码将其显示在我们的应用程序中。相反,我们所做的是在我们的数据库中创建字段,该字段将保存到保存文件的应用程序的本地文档目录的路径。使用下面的行,我们将图像保存到该位置…原创 2023-01-18 16:41:55 · 455 阅读 · 0 评论 -
实时应用程序的 CoreData+CloudKit 集成
当我第一次听说 CoreData 和 CloudKit 集成时,我很高兴,但并不多。我已经对这两个框架有了经验,而且我知道采用更新的过程不会很愉快,这对两个框架来说从来都不是。但我仍然决定更新我的应用程序。当然,这个过程与我在演示日看到的不同,在演示日您需要做的就是将 NSPersistentContainer 更改为 NSPersistentCloudKitContainer。当我开始为我拥有大量用户群和用户数据的旧时实时应用程序采用此功能时,问题就开始出现了。在这篇文章中,我将介绍我在采用 CoreDa原创 2022-12-05 16:45:26 · 682 阅读 · 0 评论 -
Cloudkit教程之 自动化 CloudKit 记录保存和获取
CloudKit 是一个非常方便的解决方案,可以快速为 Apple 的生态系统应用程序实现云保存功能。它适用于所有 Apple 平台,并具有无限的存储可用性。在本文中,我想分享一个我创建的框架,用于简化从 CloudKit 保存和获取复杂对象的过程。这个框架的灵感来自CloudKitCodable,但增加了保存和获取嵌套对象的强大功能。您可以通过carthage或安装它cocoapods。School考虑一个代表学校结构的复杂对象的例子:请注意,框架要求模型实现CKCodable协议,这需要一个唯一标识符原创 2022-12-05 16:29:53 · 317 阅读 · 0 评论 -
CloudKit教程之如何从 CloudKit 获取图像资源到 SwiftUI 应用程序
最近,我研究了 CloudKit API 文档,并尝试将数据库和资产集成到我的应用程序中。这是我的一些发现,希望对您有所帮助……想要从 iCloud 公共数据库获取图像资产到他们的 SwiftUI 应用程序的 Apple 开发人员而写的。新建 Xcode 项目[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dksEvIcR-1670225576598)(https://upload-images.jianshu.io/upload_images/41085-6929aa4a70原创 2022-12-05 15:33:36 · 686 阅读 · 0 评论 -
CoreData教程之将核心数据coredata实体拆分到不同的store,实现一个实体与 CloudKit 公共数据库和私有数据库同步
用例:我想要一个实体与 CloudKit 公共数据库和私有数据库同步。因此,我探索了具有多种配置的 Core Data。这需要学会手动设置所有内容。与 CloudKit 成功同步后,我发现这种设置有一些限制。我将涵盖以下主题:Xcode 自动完成了什么?当您在选中“使用核心数据”的 Xcode 中创建一个新项目时,它将有一个数据模型和一个 PersistenceController。数据模型与项目名称同名。PersistenceController 有一个容器,其名称与数据模型的名称相同。[外链图片转存失败原创 2022-12-05 11:08:05 · 570 阅读 · 0 评论 -
CloudKit教程之由 CloudKit 公共数据库提供支持的示例 SwiftUI 定位应用程序(教程含源码)
CloudKit 是满足 iOS 应用程序数据需求的绝佳解决方案。它完全免费(有一定限制),易于使用且速度非常快。在 Web 上找到的大多数文章都演示了旧的同步 api。2021 年,Apple 推出了易于使用的异步 API。在本文中,我将展示如何使用这些 api 并使用加载到 CloudKit 公共数据库中的数据为您的应用程序提供动力。有关 CloudKit 的介绍,您可以查看底部的链接。示例应用程序显示了希腊的一些旅游景点。使用 XCode 创建应用程序后,添加 iCloud 功能并为您的应用程序数据创原创 2022-12-05 10:03:14 · 341 阅读 · 0 评论 -
如何将数据库从 CloudKit 迁移到 Firebase
如果该服务仅支持 Apple 设备,则使用 CloudKit 和 CoreData 可能是最佳选择。但是,如果您还需要支持 Web 和 Android,情况就不同了。当同时支持Web和Android时,可以使用CloudKit JS访问iCloud DB。但是实施起来比较困难,需要有苹果账号。如果未来有同时支持 web 和 Android 的计划,CloudKit 可能是一个略显不尽如人意的解决方案。由于我正在运行的服务也计划在未来支持 web 和 Android,因此我将现有的 CloudKit 替换为原创 2022-12-05 09:50:07 · 222 阅读 · 0 评论 -
SwiftUI CoreData教程之在 SwiftUI 中拥抱核心数据(教程含源码)
去年我正在开发一个应用程序,它使用 Core Data 框架作为 SQLite 存储的持久媒介。我不愿意在我的应用程序中为 Core Data 使用任何 SwiftUI 属性包装器,因为我想在多个层中构建应用程序,而这些属性包装器仅在 View 中可用。该应用程序可以运行,但要确保 Core Data 中的所有内容都与 SwiftUI 视图同步是一件很痛苦的事情。SwiftUI 团队为我们提供了 API,以确保 SwiftUI 和 Core Data 无缝协作。原创 2022-10-16 12:05:14 · 423 阅读 · 0 评论 -
SwiftUI SQLite教程之了解如何在 SwiftUI 中使用 SQLite 数据库并执行 CRUD 操作(教程含源码)
大家都知道数据持久化和使用数据库离线访问数据的概念吗?在软件开发中,我们经常需要用某种数据结构来持久化应用数据。但是我们如何有效地存储这些数据呢?有一个专门为此目的而设计的常青数据库——SQLite。默认情况下它在iOS上可用。事实上,如果您以前使用过Core Data,那么您已经使用过 SQLite。Core Data 只是SQLite 之上的一层,它提供了更方便的 API。在本文中,我们将使用 SQLite 来存储数据结构,为此,我们将使用一个非常流行的库Sqlite.swift。...原创 2022-08-03 11:43:19 · 574 阅读 · 0 评论 -
SwiftUI iOS 精品开源项目之 完整烘焙食品菜谱App基于SQLite(教程含源码)
项目使用SwiftUI和MVVM构建,实现了烘焙食品的食谱调度程序。非常适合制作酸面包、隔夜披萨面团和需要几个小时以上烘烤的食谱!原创 2022-07-30 16:29:50 · 786 阅读 · 0 评论 -
SwiftUI SQLite教程之带有历史的搜索栏List App (教程含完整代码)
SQLite用于以SQL结构将数据本地存储在应用程序内部。它是一个关系本地数据库。您可以使用此数据库在使用Swift和SwiftUI的应用程序中存储数据。我们将在SwiftUI的iOS应用程序中创建一个简单的搜索栏,以从数组中搜索动物并将用户搜索的字符串保存在SQLite数据库中。我们将使用SQLite的库。要安装这个库,您必须在系统中安装Cocoapods。...原创 2022-07-30 15:37:55 · 492 阅读 · 0 评论 -
基于CoreData PencilKit如何使用 SwiftUI 创建绘图应用程序
让我们称我们的新实体为“绘图”,并添加一些属性。我们需要具有二进制数据类型的“canvasData”,以便PencilKit发挥它的魔力,以及UUID类型的“id”。我们还需要一个字符串类型的标题。它将创建一个包含大量样板代码的项目。如果您还没有,请前往带有时髦图标的文件,如下图所示。到达那里后,单击底部栏中的“添加实体”。我们只需要创建一些基本的东西来删除和创建图纸。我知道,我知道,有错误,但我们会在一秒钟内修复它。创建一个名为“Canvas”的新swift文件并将此代码粘贴到其中。...原创 2022-07-19 06:50:49 · 502 阅读 · 0 评论 -
SwiftUI 数据存储之iOS如何存储数据
如何将模型数据序列化为可以保存的格式?对象必须符合 Codable 协议才能使其可序列化。Codable 协议采用两种方法,init(from:)和encode(to: ). 但是,如果所有对象属性都已经符合 Codable 协议,则不需要采用这两种协议方法。有多种编码方式,对于这个例子,我们将它编码成一个属性列表(plist)文件。class Note : Codable { let title: String let text: String let timestamp: Date}原创 2022-05-15 10:18:43 · 869 阅读 · 0 评论 -
Swift 5 中的CoreData使用教程(项目含源码)
持久存储已成为当今大多数 iOS 应用程序的重要组成部分。Core Data 是一个持久性和/或内存缓存框架,由一组非常强大的其他工具组成,可以在应用程序中使用。在为我的个人正在进行的项目进行研究时,我遇到了关于这个主题的更新内容的缺乏,所以我决定自己用 Swift 5 写一篇文章。项目运行效果正文首先,让我们重新开始并创建一个选择 Core Data 模块的新项目。现在我们可以看到这个项目中有两个显着的变化:CoreDataRelationship.xcdatamodeld 和 AppDel原创 2022-05-06 19:02:09 · 1340 阅读 · 0 评论 -
国外资深iOS开发者对 WWDC 2022 的三大愿望
随着 Apple宣布今年 6 月 6 日至 10 日的 WWDC 周,让我们深入了解我希望看到的新框架、API 和工具,以及通过示例使用它们的感觉。每年都有一个非常特殊的时期,特定的一群人正在许愿,并对各种事情抱有希望。有些人与他人分享他们的愿望,有些人只是将他们隐藏在脑海中,如果没有实现就不会太失望。我曾经属于后一组,但这次我想分享我的愿望,以提高他们实现的可能性——如果不是今年,那么也许是明年。毕竟,圣诞老人可能在听。我将跳过几乎每个iOS 开发人员列表中最重要的任何明显主题,例如更稳定的 Xc.原创 2022-04-10 07:35:58 · 1163 阅读 · 0 评论 -
SwiftUI 数据持久化之 数据coredata与文件存储的区别和优势
程序员区设计了两种类型的计算机文件访问方式顺序文件访问:此时可以按顺序访问文件中的数据。提供此功能的文件,访问类型是由最常用的程序创建的,包括图像文件(来自数码相机的JEPG文件)、文本文档(用记事本或微软Word创建)、矢量文件(信条 通过设计程序,如corel绘制或Adobe插图器),工作表文件(由微软Excel创建),等等。直接或随机的文件访问:这意味着文件中的数据可以以随机的、非顺序的方式被访问。提供这种访问类型的文件是由诸如Micro等数据库程序创建的软访问。这些文件具有精确的寄存器结原创 2021-12-28 12:45:35 · 1152 阅读 · 0 评论 -
SwiftUI SQLite数据大全之 如何创建加密数据库并在项目中读取加密数据 (SQLite.swift SQLCipher教程含源码)
实战需求SwiftUI SQLite数据大全之 如何创建加密数据库并在项目中读取加密数据 (SQLite.swift SQLCipher教程含源码)本文价值与收获看完本文后,您将能够作出下面的界面基础知识什么是SQLiteSQLite 是一个 C 语言库,它实现了一个 小型、 快速、 自包含、 高可靠性、 功能齐全的SQL 数据库引擎。SQLite 是世界上使用最广泛的数据库引擎。SQLite 内置于所有手机和大多数计算机中,并捆绑在人们每天使用的无数其他应用程序中。 更多信息…SQLit原创 2021-11-17 11:57:58 · 2556 阅读 · 0 评论 -
macOS Monterey 如何安装Sqlite加密库 sqlcipher 和pysqlcipher3
安装 sqlcipherbrew install sqlcipherpip3 install pysqlcipher3python 创建加密数据库from pysqlcipher3 import dbapi2 as sqliteconn = sqlite.connect('test.db')c = conn.cursor()c.execute("PRAGMA key='password'")c.execute("PRAGMA cipher_compatibility = 3")c.ex原创 2021-11-15 19:56:24 · 1505 阅读 · 0 评论 -
SwiftUI3 SQLite 教程大全之 01 SQLite启动项目读取数据库文件 查询数据库并遍历
实战需求SwiftUI SQLite 教程大全之 SQLite启动项目读取数据库文件本文价值与收获看完本文后,您将能够作出下面的界面看完本文您将掌握的技能SwiftUI3如何整合sqlite如何将bundle文件复制到app目录里查询数据库并遍历基础知识什么是SQLite.swiftSQLite3上的类型安全的Swift语言库。核心功能纯Swift接口类型安全、可选感知的SQL表达式构建器一个灵活、可链、懒惰执行的查询层自动输入数据访问一个轻量级、简单的查询和参数绑原创 2021-10-25 20:40:01 · 663 阅读 · 0 评论 -
SwiftUI3 SQLite 教程大全之 02 SQLite创建自定义数据库表
实战需求SwiftUI SQLite 教程大全之 02 SQLite创建自定义数据库表本文价值与收获看完本文后,您将能够作出下面的界面看完本文您将掌握的技能通过swift代码创建数据库表基础知识什么是SQLite.swiftSQLite3上的类型安全的Swift语言库。核心功能纯Swift接口类型安全、可选感知的SQL表达式构建器一个灵活、可链、懒惰执行的查询层自动输入数据访问一个轻量级、简单的查询和参数绑定接口开发人员友好的错误处理和调试全文搜索支持文档支撑经原创 2021-10-25 21:02:15 · 422 阅读 · 0 评论 -
SwiftUI CloudKit 完整项目 之 读取并显示公用数据 publicCloudDatabase
实战需求SwiftUI CloudKit 完整项目 之 读取并显示公用数据 publicCloudDatabase本文价值与收获看完本文后,您将能够作出下面的界面看完本文您将掌握的技能CloudKit Dashboard 管理添加项目读取公开数据显示公开数据基础配置1. 配置icloud2. 设置CloudKit Dashboard Record Type3. 添加公共数据实战代码import SwiftUIimport Foundationimport Cl原创 2021-06-22 21:49:33 · 411 阅读 · 0 评论 -
macOS 开源完整项目之JSON文件格式转换 支持Realm swift coredata (教程含源码)
实战需求macOSX 开源完整项目之JSON文件格式转换 支持Realm swift coredata (教程含源码)项目是一个用 Swift 编写的 Mac OS X 桌面应用程序。您将能够:将任何有效的 JSON 对象转换为当前支持的语言之一的类。在保存之前预览生成的内容。仅包含构造函数、仅包含实用程序方法、两者或都不包含。更改根类名称。为生成的类设置类名前缀。设置 Java 文件的包名。本文价值与收获看完本文后,您将能够作出下面的界面支持数据类型Java for原创 2021-05-30 20:56:23 · 358 阅读 · 0 评论 -
SwiftUI 数据管理App之CoreData和Form组合使用(教程含源码)
实战需求SwiftUI 数据管理App之CoreData和Form组合使用本文价值与收获看完本文后,您将能够作出下面的界面基础知识SwiftUI CoreData添加内容详细信息struct AccountDetailsView: View { @Environment(\.managedObjectContext) var context @EnvironmentObject var data: Data @State var accountName: S原创 2021-05-29 08:51:35 · 340 阅读 · 0 评论 -
SwiftUI CoreData 之 如何快速PreviewCoreData数据 (教程含源码)
实战需求SwiftUI CoreData 之 如何快速PreviewCoreData数据 (教程含源码)本文价值与收获看完本文后,您将能够作出下面的界面实战代码核心组件import CoreDataimport SwiftUIstruct Previewing<Content: View, Model>: View { var content: Content var persistence: PersistenceController /// I原创 2021-05-15 22:13:48 · 265 阅读 · 0 评论 -
SwiftUI 完整精品管理类项目之实现List分类filter海洋生物管理 (教程含源码)
实战需求SwiftUI 完整精品管理类项目之实现List分类filter海洋生物管理本文价值与收获看完本文后,您将能够作出下面的界面看完本文您将掌握的技能SwiftUI 实现List组件支持filter过滤更新//定义数组 var critters: [CritterInfo]//定义过滤器 func filterCritters()->[CritterInfo] { let sortedCritters = sortMethod.sort(collecti原创 2021-04-13 21:09:31 · 429 阅读 · 0 评论 -
SwiftUI CoreData全功能项目之游戏积分器完整工具 增删改查
实战需求SwiftUI 精品项目之游戏积分器完整工具本文价值与收获看完本文后,您将能够作出下面的界面看完本文您将掌握的技能CoreData项目介绍本项目是一款用于保持任何游戏得分的简单应用。创建一个游戏,添加玩家,然后为每个玩家添加分数。轻松查看谁在转弯处处于领先或落后。特征:整个游戏中的图形得分每个玩家可配置的颜色游戏之间保存的玩家黑暗模式可自定义的主题和应用程序图标非常适合纸牌和棋盘游戏。丢掉笔和纸!实战代码1、app界面import SwiftUI原创 2021-04-04 21:08:08 · 310 阅读 · 0 评论