我有两个实体: Track: createdDate
位置:高度 ...(“位置”中还有 7 个属性)
Track 有一个属性“createdDate”,它带有一个 To-Many to Location。
我需要选择 Track.createdDate == "whatever-date-i-want" 的所有位置(在 SQL 中它是一个连接,很容易做到。)在这里我不知道该怎么做......
Location 实体没有“createdDate”属性,因为我相信foreignKeys 是由CoreData 自己处理的。如果我查看 sqlite 文件,数据会完美输入,我可以看到每个轨道的一堆位置(因为 GPS 将它们放入 CD 中)
我猜这是做谓词的一种特殊方式。我尝试了以下行无济于事:
NSPredicate *predicate = [NSPredicate predicateWithFormat: @"(Track.createdDate == %@)", currentTrack.createdDate];
但它没有用。我还尝试在其中放置一个属性,如下所示:
@property (nonatomic,retain) Track *lookupTrack;
并尝试:
NSPredicate *predicate = [NSPredicate predicateWithFormat: @"(lookupTrack.createdDate == %@)", currentTrack.createdDate];
也无济于事...想法?谢谢
编辑:刚才我试过:
NSPredicate *predicate = [NSPredicate predicateWithFormat: @"(ANY track.createdDate == %@)", currentTrack.createdDate];
这给了我错误'keypath createdDate not found in entity'
和
NSPredicate *predicate = [NSPredicate predicateWithFormat: @"(ALL track.createdDate == %@)", currentTrack.createdDate];
这给了我错误“不支持的谓词(null)”
编辑:这里有一些截图