gpt4 book ai didi

ios - 核心数据 : detect when child has been deleted

转载 作者:行者123 更新时间:2023-11-29 01:29:20 26 4
gpt4 key购买 nike

在我的应用中,我有一个 Result 实体,其中可以包含多个 Expense 实体。

每项费用都有一个金额,我的结果包含费用总和。

我需要在添加或删除费用时自动计算该总和。

当添加我的Expense时,我已经成功地做到了这一点,从ExpenseNSManagedObject覆盖didChangeValueForKey。但是,即使在删除生效时调用该方法,对 Result 对象的引用也为零。我有一个想法,使用 willChangeValueForKey 来存储我的 Result 对象的引用,但我发现这很脏。

您是否有更好的主意,以便在 Result 对象的其中一个子对象被删除时得到通知?

最佳答案

我建议你像这样听 NSManagedObjectContextObjectsDidChangeNotification:

 [[NSNotificationCenter defaultCenter] 
addObserver:self
selector:@selector(dataModelHasChanged:)
name:NSManagedObjectContextObjectsDidChangeNotification
object:managedObjectContext];

每次发生变化时,您都可以通过这种方式检测到它:

- (void)dataModelHasChanged:(NSNotification *)notification
{
NSSet *updatedObjects = [[notification userInfo] objectForKey:NSUpdatedObjectsKey];
NSSet *deletedObjects = [[notification userInfo] objectForKey:NSDeletedObjectsKey];
NSSet *insertedObjects = [[notification userInfo] objectForKey:NSInsertedObjectsKey];

// Do something in response to this

关于ios - 核心数据 : detect when child has been deleted,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33613332/

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