我是核心数据新手,我有3个实体 类别有很多子类别,反过来有很多商店。 我在我的应用程序中表示它的方式是master-detail-detail表视图控制器最自然的方式。
我的问题来了,我想要一个类别,例如,如果某个条件下其子类别没有商店,则不向用户显示(例如,用户选择关闭离他太远的商店)。
在SQL中我会执行某种连接但是我不确定如何在核心数据中执行它,我基本上需要在该类别的商店上执行某种“过滤器”,如果它是空的,不是显示类别。
我目前的解决方案,我猜是坏的,是使用谓词获取类别的所有子类别,并且如果它们在所提供的条件下没有商店,如果它们都是空的,则每个子类别都运行,我没有显示该类别。
更自然的解决方案?
答案 0 :(得分:0)
如果我正确理解了您的数据模型,那么使用此类谓词执行fetchRequest
可以帮助您:
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"subcategories.shops != nil)"];
答案 1 :(得分:0)
试试这个:
[NSPredicate predicateWithFormat:@"subcategories.shops.@COUNT != 0"];