使用NSPredicate来确定一个string是否等于另一个string

我有[CalCalendarStore eventPredicateWithStartDate]方法返回的CalEvents的NSArray 。 从返回的事件中,我试图只保留事件标题== @"on call" (不区分大小写)。

我可以使用下面的代码(其中“events”是一个用CalEvents填充的“NSArray”)保存标题包含 @"on call"的事件:

 NSPredicate *onCallPredicate = [NSPredicate predicateWithFormat:@"(SELF.title CONTAINS[c] 'on call')"]; [events filteredArrayUsingPredicate:onCallPredicate]; 

我已经尝试使用谓词格式string,如:

@"SELF.title == 'on call'"但这似乎不工作。

有没有更简单的方法来做到这一点?

尝试[NSPredicate predicateWithFormat:@"title ==[c] 'on call'"];

[c]使平等比较不区分大小写。)

尝试使用format @"self.title like[c] 'on call'"谓词。 以下示例代码输出2个string:

 NSArray* ar = [NSArray arrayWithObjects:@"on call", @"I'm on call", @"lala", @"On call", nil]; NSArray* filt = [ar filteredArrayUsingPredicate:[NSPredicate predicateWithFormat:@"self like[c] 'on call'"]]; NSLog([filt description]); //Output "on call", "On call"