Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 核心数据获取一对多关系的数据_Ios_Iphone_Core Data_One To Many - Fatal编程技术网

Ios 核心数据获取一对多关系的数据

Ios 核心数据获取一对多关系的数据,ios,iphone,core-data,one-to-many,Ios,Iphone,Core Data,One To Many,我对核心数据一无所知。我有两个实体场地和音乐会以及两个关系音乐会(从一个场地到另一个场地)和场地(从一个场地到另一个场地)。我想做的基本上是检索包含在两个日期(startDate endDate)之间的场地的所有音乐会 问题是,它只对场地执行过滤:它只检索日期在startDate和endDate之间但关联音乐会未被过滤的音乐会场地。我想要实现的是在音乐会上进行过滤。 例如,我有两个与音乐会相关的场地(示例中仅显示了日期): “爱尔兰酒吧”->>(01-04-2013、02-04-2013、03-

我对核心数据一无所知。我有两个实体场地和音乐会以及两个关系音乐会(从一个场地到另一个场地)和场地(从一个场地到另一个场地)。我想做的基本上是检索包含在两个日期(startDate endDate)之间的场地的所有音乐会

问题是,它只对场地执行过滤:它只检索日期在startDate和endDate之间但关联音乐会未被过滤的音乐会场地。我想要实现的是在音乐会上进行过滤。 例如,我有两个与音乐会相关的场地(示例中仅显示了日期): “爱尔兰酒吧”->>(01-04-2013、02-04-2013、03-04-2013、04-04-2013) “英国酒吧”->>(05-04-2013)

如果谓词的开始日期和结束日期分别为2013年4月2日和2013年4月4日 结果应该是:


“爱尔兰酒吧”->>(02-04-2013,03-04-2013,04-04-2013)

正如前面提到的Rob,您的错误消息显示您没有谓词

因此,在发出请求之前,请输入日志并检查谓词值

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"ALL concerts.startDate <= %@ AND concerts.endDate >= %@",startDate,endDate];
NSLog(@"my predicate is :%@",predicate);

如果您在这方面需要更多帮助,请告诉我。

您的问题很清楚:谓词为null??我认为您不必这么麻烦,您应该能够轻松地创建一个添加约束的谓词。知道谓词为什么为空吗?我会添加一个日志断点并简单地输入:po predicate。但是,是的,这就是我的想法!
NSPredicate *concertsToShow = [NSPredicate predicateWithFormat:@"SUBQUERY(concerts, $i, $i.startDate BETWEEN {%@,%@}).@count>0",startDate,endDate];
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"ALL concerts.startDate <= %@ AND concerts.endDate >= %@",startDate,endDate];
NSLog(@"my predicate is :%@",predicate);
if(predicate!=nil){
  //now make request here
}