0

我有 4 个实体的一对多关系。

获取和谓词有问题。我能够获取正确的第一个实体数据 (RecordDate)。我使用这个对象 self.recordDate。然后获取许多 RecordWorkouts。

我的代码如下:

    self.recordDate = [self.recorddates objectAtIndex:0];
    NSLog(@"Date: %@", self.recordDate.date);



    NSFetchRequest *fetchWorkoutRequest = [[NSFetchRequest alloc] initWithEntityName:@"RecordWorkout"];
    NSPredicate *predicateWorkout = [NSPredicate predicateWithFormat:@"recordDate = %@", self.recordDate];
    NSSortDescriptor *sortDescriptor = [NSSortDescriptor sortDescriptorWithKey:@"recWorkoutName" ascending:YES];
    [fetchWorkoutRequest setSortDescriptors:@[sortDescriptor]];
    [fetchWorkoutRequest setPredicate:predicateWorkout];

    self.recordworkouts = [[managedObjectContext executeFetchRequest:fetchWorkoutRequest error:nil] mutableCopy];

    self.recordWorkout = [self.recordworkouts objectAtIndex:0];

    NSLog(@"Workout: %@", self.recordWorkout.recWorkoutName);

我设法获取与 RecordDate 实体关联的 RecordWorkout。这适用于 RecordWorkout 中仅存储一个对象的情况。

但是当 RecordWorkout 中存储了多个时,它将全部获取。

是否可以在此获取中添加辅助 NSPredicate 以例如仅获取等于锻炼标签文本的记录工作。

谢谢

4

1 回答 1

0

回答任何可能需要它的人。

在 Predicate 中,您可以有两个请求:

NSPredicate *predicateWorkout = [NSPredicate predicateWithFormat:@"recordDate = %@ AND recWorkoutName == %@", self.recordDate, testLabel2.text];
于 2013-09-10T20:30:26.877 回答