有没有办法将NSManagedObject标记为脏?

时间:2012-02-23 23:22:51

标签: ios core-data

在我的NSManagedObject子类中,我有一个NSString ivar,它分成一组实体。我希望能够设置字符串,并在调用保存期间执行拆分,但是,只设置字符串不会触发脏标志或需要保存。

2 个答案:

答案 0 :(得分:1)

您可以在+ (BOOL)contextShouldIgnoreUnmodeledPropertyChanges子类上实现NSManagedObject并返回NO而不是默认值(YES)。

这应该会导致NSManagedObjectContext收到更改属性的通知,即使它们没有被数据库中的实际列表示。

答案 1 :(得分:0)

我认为你的意思是"属性"而不是" ivar"。你将一个字符串拆分成一个集合然后保存集合的方案也许值得商榷,但我想这不是问题所在。

为什么需要将受管对象标记为"脏"?这实际上没有必要。只是保存它,肮脏或不肮脏!

我不知道你是怎么检查"肮脏的"您的托管对象,但我认为您希望它在某个点触发保存。那时你可以检查自己的BOOL" dirtyFlag"您可以根据需要进行设置并随时进行检查。

将这些事情明确化,总是更好。您的代码将变得更具可读性和透明度。