gpt4 book ai didi

iphone - 核心数据错误处理 NSCFBoolean?

转载 作者:行者123 更新时间:2023-12-03 17:18:04 24 4
gpt4 key购买 nike

我有一个 Core Data 托管对象,该对象具有“boolean ”类型的属性。

在我的头文件中我有这个:@property(非原子,保留)NSNumber * includeInHistory;

我正在使用 @dynamic includeInHistory 实现

在保存到磁盘之前与此托管对象的实例进行交互时,我得到了一些实际上通过 NSNumber 接口(interface)映射到 NSCFBoolean 的东西。我正在使用“json-framework”对一些包含来自核心数据的值的字典进行编码。

问题是,在保存并检索数据后,includeInHistory 返回看起来是标准 NSNumber 的内容(整数,而不是 boolean 类型)。这是有问题的,因为当转换为 JSON 时,它映射到 "includeInHistory": 1 而不是 includeInHistory": true

目前,我必须先拆箱,然后在每次要导出为 JSON 时重新装箱,但这对我来说似乎是一个错误......我在这里遗漏了一些东西吗?

谢谢

最佳答案

就 Core Data 而言, boolean 值只是一个 NSNumber,其值限制为 0 或 1。Core Data 期望接收 Controller 和/或 View 代码正确显示它。

但是,既然您无论如何都要子类化 NSManagedObject ,那么我建议编写一个 includeInHistoryValue 方法来自动进行装箱和拆箱。然后你的 JSON 解析器将处理原始 boolean 值。

您可能还想考虑使用 mogenerator,因为它将添加这些装箱和拆箱方法并自动为您维护子类。

关于iphone - 核心数据错误处理 NSCFBoolean?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1492726/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com