gpt4 book ai didi

ios - 计算实体层次结构中的项目

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:45:00 25 4
gpt4 key购买 nike

我遇到了一个问题,我确实解决了它,但我觉得它效率很低,这涉及遍历父/子引用的核心数据(适用于 iOS)实体层次结构以计算附加到某些项目的数量实体。

让我更具体一点。我有两种类型的实体:CategoryAttachment

Category 实体通过父/子引用链接。附件以多对一的方式链接到类别(一个类别的多个附件)。

如果我想计算属于给定 Category 层次结构的附件数量,是否有一个 NSFetchRequest 比这个?

NSInteger count = 0;

NSMutableArray *stack = [[NSMutableArray alloc] init];
[stack addObject:targetCategory];

while([stack count] > 0)
{
Category *current = [stack lastObject];
[stack removeLastObject];

count += current.attachments.count;

for (Category *cat in current.children)
{
[stack addObject:cat];
}
}

targetCategory 是所选的根类别。

提前致谢。

最佳答案

如果您只需要对对象进行计数,请使用 countForFetchRequest:error:,如下所示:

NSError *err = nil;
NSUInteger count = [moc countForFetchRequest:request error:&err];
if(count == NSNotFound) {
// Handle error
}

显然,@MartinR 的建议仍然有效。

关于ios - 计算实体层次结构中的项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14934862/

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