gpt4 book ai didi

ios - 带有KVO的iOS核心数据-valueForKey:NSManagedObject子类上的自定义属性?

转载 作者:行者123 更新时间:2023-12-01 17:01:42 26 4
gpt4 key购买 nike

我有两个从实体派生的NSManagedObject子类ActivityMember和Member。成员具有一个称为名称的属性,而 Activity 成员通过与成员一对一的关系具有一个称为成员的属性。我试图在ActivityMember上创建一个名为name的自定义属性,该属性仅公开其成员的姓名,如下所示:

ActivityMember.m:

-(NSString *)memberName
{
if (!self.member) {
return nil;
}
return self.member.name;
}

ActivityMember.h:
@property (readonly) NSString *memberName;

当我的TableViewController子类将valueForKey:发送到ActivityMember的实例时,它失败并显示以下消息:
[<NSManagedObject 0x4d6c830> valueForUndefinedKey:]: the entity ActivityMember is not key value coding-compliant for the key "memberName".

如果我向ActivityMember添加一个临时memberName属性,它不会再失败,但是memberself属性始终为nil,即使self.member.name评估为有效字符串。

考虑到临时属性可能需要一些自动更新,因此我还向ActivityMember添加了以下内容,但没有成功。
+ (NSSet *)keyPathsForValuesAffectingMemberName
{
return [NSSet setWithObjects:@"member.name", nil];
}

NSManagedObject是否有可能做自己的KVO魔术?我在keyPathsForValuesAffectingMemberName的正文中设置了一个断点,但是它从未中断过。

这似乎是一个普通的用例,但是我没有找到关于该主题的好文章。

最佳答案

原来这是飞行员错误。在我的数据模型中,我没有为ActivityMember指定类名。微妙,因为其他属性效果很好(反射的魔力)。

关于ios - 带有KVO的iOS核心数据-valueForKey:NSManagedObject子类上的自定义属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6191140/

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