- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
假设我在 CoreData
中有 2 个 NSManagedObject
。
class House: NSManagedObject {}
class Location: NSManagedObject {}
我也有这样的数据模型结构
:
struct HouseModel {
var objectID: NSManagedObjectID
...
}
sruct LocationModel {
var objectID: NSManagedObjectID
...
}
对于每个加载的managedObject
,我基本上使用它的属性来初始化一个新的模型结构以用于 UI 和其他东西(主要是 Collection View )
我必须在 structs
中具有 NSManagedObjectID
属性,以便能够更改结构所属的 managedObject
。 (我知道我应该只使用 mainViewContext
来读取,而使用类似 persistentContainer.performBackgroundTask
的东西来写入。因此,我需要 NSManagedObjectID
来将对象加载到后台队列中)
这是可行的,但这种方法存在一个问题:如果没有 managed object
,我无法初始化这些数据模型之一。当我想为 UI 测试或单元测试创建虚拟数据时,这很烦人。
我知道一个解决方案:创建一个只有一个实例的 Dummy
managedObject
并将其 objectID 用于类似的东西。但我真的不喜欢这个。有没有更好/更方便的方式?
我的意思是,我很乐意完全删除 objectID
属性,以使 CoreData
与这些模型 structs
分开。但我看不出有办法做到这一点。我需要连接。
最佳答案
为了将 NSManagedObjects
传递给详细 View 以进行编辑,在新的主队列托管对象上下文中执行此操作通常很有用,这简化了您的 UI 访问并允许您在以下情况下丢弃上下文用户取消更改。
但这不是你问的。
您的问题是您想要标识一个托管对象,但不使用 NSManagedObjectID
。为此,您可以改用 URL
属性。 NSManagedObjectID
有一个返回 URL 的 uriRepresentation()
,NSPersistentStoreCoordinator
可以使用 managedObjectID(为URI表示:)
。因此,您可以将任何旧 URL 存储在结构中以用于测试目的,并且仍然可以安全地引用应用程序逻辑中的托管对象。
关于ios - swift/Core Data - 为数据模型创建 "dummy"NSManagedObject ID(无需托管对象即可测试事物),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56516220/
以下代码段可以在C++ 11/14/17标准下使用GCC 9.1和Clang 6.0很好地编译,但是拒绝使用Visual Studio 2019进行编译。我可以将getDummies()的返回值更改为
我在Python中遇到了一件奇怪的事情: >>> import multiprocessing >>> thread_pool = multiprocessing.dummy.Pool() Trace
有人能告诉我为什么下面示例中的“hasOwnProperty”为假,而 getOwnPropertyDescriptor 不为空吗? 根据 MDN: defineProperty() - ...直接在
我正在使用没有可用的 ALSA snd-dummy 模块的 docker 镜像。我需要模拟声卡。我不需要(或不想)听音频。 根据我所做的许多搜索,我相当确定我想使用 ALSA 的 snd-dummy
我正在将我的 Mercurial 存储库转换为 Git。文件系统的一部分如下所示: |-- .gitignore |-- .hgignore `-- var |-- .dummy |-
我在运行 clion 项目 stepik 文件时遇到问题。不断出现以下错误。我有一个编译器,我可以运行其他代码,但有些代码不起作用。 In file included from /home/gergo
我在运行 clion 项目 stepik 文件时遇到问题。不断出现以下错误。我有一个编译器,我可以运行其他代码,但有些代码不起作用。 In file included from /home/gergo
嘿,我想绘制一些函数,但我的虚拟变量有问题。每次我想绘制我的第二个图形 gnuplot 时,都会说未定义虚拟 M 或 x,但我不知道为什么。拥有不同的虚拟变量不是必需的,但它有助于跟踪事物。否则我想了
我想分配代表分位数的因子。因此,我需要它们是数字。 因此,我编写了以下函数,基本上可以解决我的问题: qdum qd[i-1] & v$a <= qd[i]] = i } all = list(qd
我有 2 列: 性别(字符串类型的分类值为“男性”和“女性”) 类别(整数类型的分类值为 1 到 10) 当我对上述 2 列执行 pd.get_dummies() 时,只有“性别”被编码为 2 列。但
据我了解,“UNION 中的每个 SELECT 语句必须具有相同的列数。这些列也必须具有相似的数据类型。此外,每个 SELECT 语句中的列必须具有相同的顺序。”如果第一个 SELECT 的列数多于第
我有一个非托管应用程序,它的某些用户界面使用 WPF 程序集。 最初我遇到了如下异常: System.IO.FileNotFoundException was unhandled Message: C
我想为一个现有服务编写一个虚拟服务(使用 Netty)。它将用于测试目的。 该服务的现有客户端代码片段如下所示: Socket socket = new java.net.Socket(); sock
我最近多次看到类似下面的代码。 请注意,modelMapper、viewMapper 和 source 被定义为局部变量,但除用作返回对象。 可能值得注意的是,$parse 返回一个函数,并且只有涉及
在 JavaScript 中使用对象文字时,我发现自己经常在最后一个标签/值对周围产生语法问题,因为它不需要尾随逗号。我插入一个新值,但不可避免地忘记了分隔逗号。 .draggable({ c
我搜索了这个主题并找到了答案,但作为一个 Java 傻瓜,我并不真正理解这一切,因此我尝试在一个小例子中执行我找到的最佳答案: package return2valuesofdifftype; pub
假设我有一个函数,它接受一个模块对象作为参数并对它做一些事情——也许是猴子修补它。出于测试目的,我如何创建一个虚拟模块对象来传递给它? 最佳答案 像这样 ( docs ) >>> import typ
我一直在处理一个我找不到解决方法的奇怪问题。 我的情况如下。 我在 python 中有一个名为“app1”的应用程序,它需要一个文件来输出它的执行结果。 我有一个辅助应用程序,称为“app2”;一个二
我对算法很陌生,我试图理解 minimax,我阅读了很多文章,但我仍然不知道如何将它实现到 python 中的井字游戏中。你能试着用一些伪代码或一些 python 代码尽可能简单地向我解释它吗? 我只
我有一个包含字符串(字符指针)的结构。 此字符串/数组应采用以下形式之一: 包含实际的字符串数据 没有实际数据,只是应该能够在名为 STATE_1 的东西中显示它 同上,但STATE_2 我希望能够检
我是一名优秀的程序员,十分优秀!