在我的NSManagedObject子类中,我有一个NSString ivar,它分成一组实体。我希望能够设置字符串,并在调用保存期间执行拆分,但是,只设置字符串不会触发脏标志或需要保存。
答案 0 :(得分:1)
您可以在+ (BOOL)contextShouldIgnoreUnmodeledPropertyChanges
子类上实现NSManagedObject
并返回NO
而不是默认值(YES
)。
这应该会导致NSManagedObjectContext
收到更改属性的通知,即使它们没有被数据库中的实际列表示。
答案 1 :(得分:0)
我认为你的意思是"属性"而不是" ivar"。你将一个字符串拆分成一个集合然后保存集合的方案也许值得商榷,但我想这不是问题所在。
为什么需要将受管对象标记为"脏"?这实际上没有必要。只是保存它,肮脏或不肮脏!
我不知道你是怎么检查"肮脏的"您的托管对象,但我认为您希望它在某个点触发保存。那时你可以检查自己的BOOL
" dirtyFlag"您可以根据需要进行设置并随时进行检查。
将这些事情明确化,总是更好。您的代码将变得更具可读性和透明度。