【发布时间】:2015-01-28 19:21:11
【问题描述】:
我有一个不能正确更新其属性的 NSManagedObject 子类。
SCItem.h(相关部分)
SCItem : NSManagedObject
@property (nonatomic, retain) NSString *name;
SCItem.m(相关部分)
@dynamic name;
- 我使用 initWithEntity:insertIntoManagedObjectContext 创建了一个新项目
- 然后我设置名称:@"name1"
- item.isUpdated 是 YES
- item.isInserted 是 YES
- [item changedValues] 显示名称已更改
- 然后我保存上下文
- 项目已正确持久化
- 我重新设置了名称:@"name2"
- item.isUpdated 是 YES
- item.isInserted 是 NO
- [item changedValues] 为空
- 记录的 item.name 是正确的(“name2”)
- 保存上下文不会保留名称(这是意料之中的,因为 MOC 显然不知道该值确实发生了变化)
我已检查该项目没有被重新初始化(内存中的相同位置)。我还确认 managedobjectcontext 保持不变。
我是 CoreData 的新手。我错过了什么吗?我从搜索中得到的唯一想法是确认子类仍然具有动态属性,并且确实如此。
【问题讨论】:
标签: macos cocoa core-data nsmanagedobject