2 つのエンティティがあります: トラック: createdDate
場所: 高度 ...(「場所」にさらに 7 つの属性)
Track には、To-Many to Location を持つ 1 つの属性「createdDate」があります。
Track.createdDate == "whatever-date-i-want" のすべての場所を選択し直す必要があります (SQL では、簡単に結合できます)。
場所エンティティには「createdDate」属性がありません。これは、foreignKeys が CoreData 自体によって処理されると考えているためです。sqliteファイルを表示すると、データは完全に入っています.1つのトラックごとにたくさんの場所を見ることができます(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)」というエラーが表示されました
編集:ここにいくつかのスクリーンショットがあります