当前位置: 首页 > wzjs >正文

wordpress adsense integratorseo服务公司招聘

wordpress adsense integrator,seo服务公司招聘,wordpress评论框背景图片,天津做网站网页的公司概述 各位似秃似不秃小码农们都知道,在苹果众多开发平台中 CoreData 无疑是那个最简洁、拥有“官方认证”且最具兼容性的数据库框架。使用它可以让我们非常方便的搭建出 App 所需要的持久存储体系。 不过,大家是否知道在 CoreData 中还存在一个 Transfo…

在这里插入图片描述

概述

各位似秃似不秃小码农们都知道,在苹果众多开发平台中 CoreData 无疑是那个最简洁、拥有“官方认证”且最具兼容性的数据库框架。使用它可以让我们非常方便的搭建出 App 所需要的持久存储体系。

在这里插入图片描述

不过,大家是否知道在 CoreData 中还存在一个 Transformable 类型,它到底是个啥?应用场景有哪些?在最新的 SwiftData 中有没有对应物?对于开发者又有哪些“见雀张罗”的撸码陷阱和最佳实践呢?

在本篇博文中,您将学到如下内容:

  • 概述
  • 1. 查无此“类”:奇怪的 Transformable 类型
  • 2. Transformable 存在的真谛
  • 3. 派生自 NSObject 的内置类
    • 3.1 数组(Array)
  • 总结

本系列文章一共包括将近 3w 枚机智而幽默的文字、详实的大段代码示例以及海量图片,定能让小伙伴们对 Transformable 类型的“驾驭”更加胸有成竹、胜券在握!

那还等什么呢?让我们马上开始 Transformable 大冒险吧!
Let’s go!!!😉


1. 查无此“类”:奇怪的 Transformable 类型

Core Data 是由 Apple 开发的自家数据持久化框架,其历史可以追溯至 2005 年。它最初作为 OS X 10.4(Tiger) 的一部分发布,旨在为 macOS 应用程序提供高效的 对象图 管理和 持久化 支持。

而随着时代的演进,Core Data 的核心设计理念已包括对象关系映射、内存数据管理以及与 SQLite 的无缝集成,但其定位并非单纯的数据库框架,而更像是一个更高层次的模型层解决方案。

在这里插入图片描述
在这里插入图片描述

6 年之后,Core Data 于 2011 年正式登陆 iOS 5,成为 iOS 开发的标准数据管理工具。这标志着 Core Data 开始支持移动端开发,小码农们能够通过其可视化建模工具和自动化数据同步功能,简化复杂的数据操作流程。


更多关于 CoreData 开发的进一步介绍,请小伙伴们移步如下链接观赏精彩的内容:

  • “一人得道,雨燕升天”:Swift 协议扩展助力 CoreData 托管类型(上)
  • 一场陟遐自迩的 SwiftUI + CoreData 性能优化之旅(上)
  • 消失的它:揭开 CoreData 托管对象神秘的消失之谜(上)
  • “群芳争艳”:CoreData 4 种方法计算最大值的效率比较(下)
  • 蹊跷的崩溃:CoreData 数据保存时提示“不可接受类型”(Unacceptable type)
  • 漫谈初学者处理 CoreData 数据之启示录
  • 『第十一章』数据持久化:CoreData 与 CloudKit

众所周知,在 Xcode 中我们可以利用 CoreData 模型编辑器为我们心仪的 App 搭建怡人的数据模型。我们可以按需为模型中表的各个字段选择合适的类型:

在这里插入图片描述

在众多耳熟能详的数据模型中,有一个看起来是那么的“恢诡谲怪”,让人一下子摸不着头脑,它就是 Transformable 类型。


和 CoreData 类似的是苹果最新的 SwiftData 框架,它是一款现代化的数据库框架,其采用描述性的设计语言,借助于大量的宏定义,作为一名“单枪匹马”的勇士可以完全脱离于数据库编辑器工具而独立遨游于数据海洋之上。

更多关于 SwiftData 的详细介绍,请小伙伴们移步如下链接观赏精彩的内容:

  • 如何在 SwiftUI 视图中使用分页(Paging)机制显示 SwiftData 数据(一)
  • 如何让 SwiftUI 中 @Query 宏能够动态改变获取的 SwiftData 数据结果
  • 使用 SwiftData 历史记录追踪(History Trace)跨进程同步 App 和 Widgets 间的数据更改
  • SwiftData 共享数据库在 App 中的改变无法被 Widgets 感知的原因和解决
  • iOS 18 中全新 SwiftData 重装升级,其中一个功能保证你们“爱不释手”
  • 『第十二章』数据持久化:SwiftData

我们知道,用 CoreData 模型编辑器设定的绝大多数类型都可以直接对应到其托管类的定义中去:

extension Record {@nonobjc public class func fetchRequest() -> NSFetchRequest<Record> {return NSFetchRequest<Record>(entityName: "Record")}@NSManaged public var date: Date?@NSManaged public var randomNumbers: NSObject?@NSManaged public var result: Bool@NSManaged public var usingMagic: NSObject?@NSManaged public var owner: Human?}

但是,与此截然不同的是: **Transformable 类型在托管类的定义中根本“无迹可寻”。

如上代码所示,randomNumbers 和 usingMagic 都是 Transformable 类型,而实际上,它们却被映射到了所谓 NSObject? 类型的头上。

那么,这个奇怪的 **Transformable 类型到底有神马用途呢?

2. Transformable 存在的真谛

实际上,Core Data 中 Transformable 类型是一种灵活、定制性很强的数据类型,它允许开发者存储那些无法直接映射到 Core Data 内置基本类型(如 String、Int、Date 等)的自定义对象或复杂数据结构。

它的核心作用是通过 序列化与反序列化 机制,将自定义对象转换为可存储的二进制数据(如 Data 类型),从而将它们持久化到数据库(如 SQLite)之中。

形象的说,Core Data 中 Transformable 类型就好像特种部队中的“剃刀小队”,它们本领高强、颜值出众,专门擅长解决特殊的“定制任务”。

光是这样说,可能大家依旧还是不明所以。所以下面我们就分 4 种应用场景来如数家珍的具体说说 Transformable 类型的“超群绝伦”吧。

3. 派生自 NSObject 的内置类

好戏开始了!我们先用 Transformable 类型最简单的使用场景来为整个冒险拉开序幕,即:Array 和 UIColor 对象的存储。

3.1 数组(Array)

最简单的应用场景是保存值类型的数组(Array) 。

首先,在 Record 托管类中新建一个名为 randomNumbers 的字段,并且将其类型设置为 Transformable:

在这里插入图片描述

接着,创建一个帮助方法 makeRandomNumbers() 用来生成随机整数数组:

func makeRandomNumbers() -> [Int] {var ary = [Int]()for _ in 0..<3 {ary.append(Int.random(in: 0...1000))}return ary
}

最后,我们可以这样保存 Record 的实例:

func fight() throws {let context = managedObjectContext!let record = Record(context: context)record.date = .nowrecord.result = .random()record.owner = selflet numbers = makeRandomNumbers()record.randomNumbers = numbers as NSObjecttry context.save()
}

在上面的代码中,我们将整数数组作为 NSObject 类型的值稳妥的存入到了 randomNumbers 字段中。这样做可以成功的原因在于:[Int] 数组的类型实际上是 Array<Int> 类型,而 Array 类型几乎可以“无痛地”转换为 NSArray 类型,最终 NSArray 又恰巧是一个 NSObject 类型。

同样,我们需要将存放在 randomNumbers 字段中的整数数组读取出来,这也只需一个小小的类型转换即可完成:

LabeledContent("") {Button("行动") {try! villain.fight()}.font(.title3.bold()).buttonStyle(.borderedProminent)
}let numbers = record.randomNumbers as! [Int]                      
LabeledContent("随机数组") {HStack {ForEach(numbers, id: \.self) { num inText("\(num) ").font(.headline)}}
}

运行代码可以发现,我们已经可以轻松的保存和取出 randomNumbers 中正确的内容了:

在这里插入图片描述

不过此时此刻,眼尖的小伙伴们可能会瞥见 Xcode 控制台中刺眼的警告:

在这里插入图片描述

这又是怎么回事呢?

在下一篇博文中,小伙伴们将继续我们的 Transformable 大冒险,敬请期待吧!

总结

在本篇博文中,我们讨论了 CoreData 中 Transformable 到底是什么类型?以及它存在的意义。随后,我们还介绍了将整数数组转换为 Transformable 类型的方法。

感谢观赏,我们下一篇再会吧!😎

http://www.dtcms.com/wzjs/108200.html

相关文章:

  • 宁夏手机网站建设推广普通话内容50字
  • 网站图片上传功能怎么做二十条优化措施原文
  • 做网站的公司 设计好南京广告宣传公司seo
  • 网站建设营销型号的区别上海好的seo公司
  • 做论文常用网站有哪些优化近义词
  • 哪个网站可以找做软件兼职的安卓在线视频嗅探app
  • 响应式网站怎么做mip整站seo优化哪家好
  • win7dw做asp购物网站天猫代运营
  • 政府电子网站建设解决方案商业推广软文范例
  • discuz网站搬家教程百度的特点和优势
  • 国外做地铁设计的公司网站网络营销包括几个部分
  • 把别人的图片拿来做网站网站优化系统
  • 网站推广每天必做的流程品牌宣传策划方案
  • 17一起做网店网站百度第三季度财报2022
  • 西安咪豆网站建设公司网站媒体推广方案
  • 用wordpress做购物网站营销推广公司案例
  • 手机wap网站导航模板seo管理系统创作
  • 遵义市播州区建设厅网站产品网络推广怎样做
  • 网站一般多少钱一年淘宝关键词指数查询
  • 回到明朝当王爷seo去哪学
  • 给人做传销网站google浏览器官网下载
  • 石家庄专业网站制最好的推广平台排名
  • 鄂州网站建设公司品牌传播方案
  • 上海网络推广公司排名网站seo案例
  • 企业营销网站建设公司排名百度手机助手app免费下载
  • 南通网站建设空间国产免费crm系统有哪些
  • 国家卫生健康委员会官网电子注册郑州seo服务公司
  • 什么网站可以做相册视频2023年适合小学生的新闻
  • 外贸网站的特色百度推广账户搭建
  • wordpress 获取标签云seo关键字优化技巧