gpt4 book ai didi

objective-c - 是否有类似于 isUpdated 的方法,如果 NSManagedObject 的关系已更新,它会通知我?

转载 作者:行者123 更新时间:2023-12-03 17:57:41 25 4
gpt4 key购买 nike

NSManagedObject 中的 isUpdated 方法通知我实体是否已更新。

但是,它不会通知我与该实体有关系的实体是否已更新。

我应该自己经历所有的关系吗?

谢谢

最佳答案

需要考虑的几种方法是......观察上下文以查看是否有任何对象发生了更改,使用一些键路径运算符来深入了解细节...这种方法可能容易出错且麻烦...

更好的方法是发出一个特殊的通知并在该通知中发送适当的信息...然后观察者只需观察该通知,而不是 kvo 所有键。

也许是这样的:

static NSString * kClassADidChangeKey = @"kClassADidChangeKey";
static NSString * kClassAKeyKey = @"kClassAKeyKey";
@interface ClassA : NSManagedObject

@property (nonatomic,copy) NSString * keyOfInterest;

@end

@implementation ClassA

@dynamic keyOfInterest;

-(void)setKeyOfInterest:(NSString*)theValue
{
[self willChangeValueForKey:@"keyOfInterest"];

NSMutableDictionary * userInfo = [NSMutableDictionary dictionary];
[userInfo setValue:key forKey:kClassAKeyKey];
[[NSNotificationCenter defaultCenter] postNotificationName:kClassADidChangeKey object:self userInfo:userInfo];
[self setPrimitiveValue:theValue forKey:@"keyOfInterest"];
[self didChangeValueForKey:@"keyOfInterest"];
}

@end

关于objective-c - 是否有类似于 isUpdated 的方法,如果 NSManagedObject 的关系已更新,它会通知我?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10944838/

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