gpt4 book ai didi

cocoa - 核心数据除以两个值

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

在我的项目中,完全使用核心数据和绑定(bind)编写,我有两个包含浮点值的文本字段。我想创建第三个文本字段,即第一个字段除以第二个字段。使用 Core Data 来解决这个问题的最佳方法是什么?我应该为第三个字段创建一个自定义访问器吗?

最佳答案

在 NSManagedObject 子类中创建一个方法 -thirdValue 来执行计算:

- (CGFloat)thirdValue
{
return value1 / value2; // should probably do a value2 != 0 check
}

然后为该类添加 +keyPathsForValuesAffectingValueForKey:

+ (NSSet *)keyPathsForValuesAffectingValueForKey:(NSString *)key
{
NSSet *superSet = [super keyPathsForValuesAffectingValueForKey:key];

if ([key isEqualToString:@"thirdValue"])
return [[NSMutableSet setWithObjects:@"value1", @"value2", nil] unionSet:superSet];

return superSet;
}

这将 ThirdValue 设置为依赖于 value1 和 value2。每当 value1 或 value2 发生变化时,也会有 ThirdValue 的 KVO 通知。因此,如果您有一个绑定(bind)到它的字段,该字段将显示新的计算值。当您需要显示一个值依赖于其他键的键时,这是一个方便的技巧。

关于cocoa - 核心数据除以两个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5768950/

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