我正在使用core data
.我有两个实体。一个是会话,第二个是扫描。这里是一对多关系,意味着一个会话可以有多个扫描。
我在扫描实体中有scans_id。假设在会话实体中,我有 3 次扫描意味着 3 次扫描的NSSet
。我想找出该扫描在集合中具有最大scans_id。我想从谓词开始做。
我正在使用此功能。
-(void)CallForGetMaximumScanIDInSession:(Session *)ObjTempSession
{
NSSet *temp=ObjTempSession.scan;
NSPredicate *predicate=[NSPredicate predicateWithFormat:@"scans_id==max(scans_id)"];
NSSet *setTemp = [temp filteredSetUsingPredicate:predicate];
NSArray *arrTemp=[setTemp allObjects];
if (arrTemp.coun>0 && arrTemp.coun==1)
{
// arrTemp must having a single object of scan.
}
}
它让我在谓词线上崩溃。
如果我做了错误的谓词,请告诉我。
提前谢谢。
我想这应该有效
NSSet *temp=ObjTempSession.scan;
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SELF.scans_id == %@.@max.scans_id", temp];
你可以在这里找到类似的问题