gpt4 book ai didi

iPhone核心数据: Property Persistance During Undo

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

我有一个内置于 iPhone 核心数据中的数据模型。我还有一个适用于该模型的 NSUndoManager 。问题是,我不想在撤消过程中影响实体上的某些属性,而我确实希望回滚其他属性。在不彻底改变事情的情况下这可能吗?如果是这样,最好的方法是什么。

最佳答案

读了一点之后...

NSUndoManager 方法:

- (void)disableUndoRegistration
- (void)enableUndoRegistration

只要 NSManagedObjectContext 方法就可以工作

- (void)processPendingChanges

之后直接调用。

例如,您可以在托管对象上添加以下方法来设置天气,否则对属性的更改应添加到撤消堆栈中:

- (void)setColor:(UIColor *)aColor undo:(BOOL)shouldUndo{
if (shouldUndo)
[self setColor:aColor];
else{
NSManagedObjectContext *moc = self.managedObjectContext;

[moc processPendingChanges]; //Disable undo
[moc.undoManager disableUndoRegistration];

[self setColor:aColor]; //Preform change

[moc processPendingChanges]; //Enable undo
[moc.undoManager enableUndoRegistration];
}
}

请注意,如果您不想将大量更改添加到撤消堆栈中,那么这可能不是最有效的方法。

关于iPhone核心数据: Property Persistance During Undo,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1907392/

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