gpt4 book ai didi

macos - NSManagedObject 更改值不正确

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

我有一个 NSManagedObject 子类,它无法正确更新其属性。

SCItem.h(相关部分)

SCItem : NSManagedObject
@property (nonatomic, retain) NSString *name;

SCItem.m(相关部分)

@dynamic name;
  • 我使用 initWithEntity:insertIntoManagedObjectContext 创建一个新项目
  • 然后我设置名称:@“name1”
  • item.isUpdated 为 YES
  • item.isInserted 为 YES
  • [itemchangedValues] 显示更改的名称
  • 然后我保存上下文
  • 该项目已正确保留
  • 我再次设置了名称:@“name2”
  • item.isUpdated 为 YES
  • item.isInserted 为 NO
  • [项目已更改值] 为空
  • 记录的 item.name 正确(“name2”)
  • 保存上下文不会保留名称(这是预期的,因为 MOC 显然不知道值确实发生了变化)

我已检查该项目没有被重新初始化(内存中的同一位置)。我还确认了 ManagedObjectContext 保持不变。

我是 CoreData 新手。我错过了什么吗?我从搜索中得到的唯一想法是确认子类仍然具有动态属性,而且确实如此。

最佳答案

答案:我根据 NSTextView 的字符串值设置字符串。一旦我将其设置为该值的副本,它就可以正常工作。 NSManagedObject 一定认为它被设置为旧值,因为字符串的内存地址是相同的(我认为)。

关于macos - NSManagedObject 更改值不正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28200643/

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