问题标签 [transformable]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
195 浏览

swift - NSSecureCoding 协议导致应用程序崩溃

我正在使用具有可转换类型的 Coredata 并收到很多这样的警告:

所以我尝试进行调整,这是我之前的自定义类:

比我把它改成 NSSecureCoding:

并且在 NSManagedObject 内部将 Transformer 更改为 NSSecureUnarchiveFromData:

在此处输入图像描述

第一次运行时一切正常,但在保存内容并重新启动应用程序后,它会因以下错误而崩溃:

我在这里想念什么?

0 投票
2 回答
992 浏览

ios - CoreData - 存储一组可转换对象

我有一个具有可变形属性的实体。它是一个自定义对象数组,Reminder确认NSSecureCoding.


以下代码是我的NSSecureUnarchiveFromDataTransformer.


ReminderDataTransformer在初始化之前使用以下代码进行了注册NSPersistantContainer


ReminderToDataTransformer在 xCode 的 Data Model Inspector 中用作 Transformer。


但它不起作用,因为保存实体时出现以下错误。

更新

也不例外。第二次启动应用程序时,控制台会记录此错误。


我想我无法正确编码/解码 Reminder 的数组,因为如果我将代码更改为 storeReminder而不是[Reminder].

为了清楚起见,我可以存储Reminder,但不能[Reminder]


如何存储[Reminder]Transformable


0 投票
1 回答
376 浏览

ios - 可转换和 NSKeyedUnarchiveFromData

我正在尝试将测量值保存到核心数据可转换属性。基本上,这个答案有什么,只有一个不同的单位:如何在核心数据中保存通用测量<Unit>?

一切正常,但是我在日志中收到此消息: [general] 'NSKeyedUnarchiveFromData' should not be used to for un-archiving and will be removed in a future release

我不知道如何解决这个问题。或者它到底是什么意思。这是我第一次使用可转换的 Core Data 属性。

谢谢


编辑:

我开了一个新课:

然后我将核心数据对象的转换器值设置为:UnitTemperatureValueTransformer.

这就是所有需要做的吗?

0 投票
0 回答
44 浏览

swift - 如何使用 Transformer 将 MKPolyline 存储在 Core Data 中?

我正在寻找使用 Core Data 存储 MKPolyline 属性,但我能找到的唯一答案是旧的并且使用了 iOS 12 中不推荐使用的存档函数(NSKeyedUnarchiver.unarchiveObjectWithData)。它们已被替换为需要类的 (NSKeyedUnarchiver.unarchivedObject),并且不允许使用 MKPolyline,因为它不符合 NSCoding。 这是不再支持的版本:

我在 xcdatamodeld 中将属性设置为 Transformable 并尝试创建 Transformer 函数以允许自动值转换。但是我收到错误“静态方法'unarchivedObject(ofClass:from:)'要求'MKPolyline'符合'NSCoding'”。

我已经尝试了几种方法来使 MKPolyline 支持 Codable,但我似乎也无法做到这一点。

这是我的价值转换器代码:

作为一种替代方法,我采用折线内的点并构建了一个自定义类来存储数据。这主要是因为我可以成功存储对象,但 NSUnarchive 返回 nil 导致“致命错误:在展开可选值时意外发现 nil”。

这是代码:

仅供参考,包含以下行是为了让我在投射前检查解码:

谢谢

0 投票
1 回答
94 浏览

arrays - 在 Coredata 中存储自定义类类型数组

我正在尝试将自定义类类型数组存储在 coredata 中。

我设置的是一个名为string 和typeNode属性的实体。该属性应该存储一个类型数组,如下面的代码所示。valuechildrenTransformablechildrenNode

.xcdatamodel设置:

在此处输入图像描述

目前,应用程序崩溃并显示错误消息“此解码器将仅解码采用 NSSecureCoding 的类。类 'Node' 不采用它。” 所以我用字符串数组而不是节点数组尝试了它,它似乎工作。

我猜需要做一些额外的事情来存储自定义数组类型。

0 投票
1 回答
58 浏览

swift - Swift NSSecureCoding 在展开时意外发现 nil

我在 CoreData 中存储了一个可转换对象,并试图使其符合 NSSecureCoding 标准,但是当我尝试解码时,在展开可选值时,我一直意外发现 nil

在 XCDataModel 中,我将属性设置为可转换并使用自定义类 AssignedExerciseObjects,我还将转换器设置为 AssignedExerciseObjectsValueTransformer

我还在我的 CoreData 堆栈中注册了转换器

这是我的变压器的副本

这是我的自定义课程的副本

这就是它给我错误的地方

我对 swift 还很陌生,但我一生都无法弄清楚为什么它返回 nil 值?

创建记录时,一切似乎都可以正常工作,但是当我尝试在表格中显示记录时,出现错误

任何帮助是极大的赞赏

问候

杰米

0 投票
1 回答
114 浏览

transform - 我正在研究 SFML,我真的很想深入了解关于以下内容的转换:对象的位置、旋转、缩放和原点

我正在查看"SFML/Graphics/Transform.h""SFML/Graphics/Transformable.h"标题,但我无法理解一件事。我将课程最小化,以便你们可以轻松获得它:

在函数"SFML/Graphics/Transformable.cpp""getTransform()"实现为如下代码:

我的问题是他们如何实现这些值:sxc, syc, sxs, sys, tx, ty ,以及为什么他们按该顺序将它们放入 3X3 矩阵中。十分感谢!!!