gpt4 book ai didi

ios - 核心数据 changedValues 是否忽略二进制数据和转换后的属性?

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:40:03 24 4
gpt4 key购买 nike

在保存上下文之前,我正在通过 changedValues 评估核心数据实体,以便我可以对托管对象进行一些额外的更改。就我而言,我有一些重要的计算,这些计算仅在对象真正发生变化时才有意义。

我将我的一个属性更改为二进制数据,并添加了一个转换器来存储字典数据。 changedValues 方法总是返回一个 nil 字典或没有此属性的字典。

文档中的 ChangedValues:

Return Value A dictionary containing as keys the names of persistent properties that have changed since the receiver was last fetched or saved, and as values the new values of the properties.

Discussion This method only reports changes to properties that are defined as persistent properties of the receiver, not changes to transient properties or custom instance variables. This method does not unnecessarily fire relationship faults.

changedValues 是否不返回已转换属性的值?当我存储图像之类的东西时,我已经看到 changedValues 在字典中返回二进制数据属性名称。

我在文档中找不到有关字典中返回的有效实体属性的信息。

确定托管对象是否已被修改的最佳做法是什么?

谢谢!

更新:这是我用来将字典存储为二进制对象的转换器:

@implementation DictionaryToData
+ (BOOL)allowsReverseTransformation
{
return YES;
}

+ (Class)transformedValueClass {
return [NSDictionary class];
}

- (id)transformedValue:(id)value {
return [NSKeyedArchiver archivedDataWithRootObject:value];
}

- (id)reverseTransformedValue:(id)value {
return [NSKeyedUnarchiver unarchiveObjectWithData:value];
}

@end

最佳答案

NSDictionary 不能包含二进制文件。您必须单独获取二进制文件(而不是在字典中)并手动转换它。

关于ios - 核心数据 changedValues 是否忽略二进制数据和转换后的属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22105688/

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