我有一个简单的应用程序,其中包含UITableViewController
,用户可以在另一个视图中将一些信息添加到一组UITextFields
中。该日期会保存到Core Data
,并使用UITableView
填充NSFetchedResultsController
。
我遇到过一些奇怪的情况,用户出于某种原因在一个条目之前放了一个空格。因此,如果条目是"婚礼",一些用户(意外地)在婚礼前放置一个空格,所以它在开始时变成了婚礼空间。
正因为如此,我的UITableView
将其作为单独的条目对待" Wedding"因为我的UITableView
根据事件设置为按字母顺序排列,所以在周年纪念日之前出现带有空格的婚礼,而在周年纪念日之后出现没有空格的婚礼。
考虑到这一点,我希望能够忽略空格,以便用户可以在前面输入带有或没有空格的婚礼,并且它:
1)始终忽略空间并保持UITableView的字母性质 2)将婚礼视为同一条目(有和没有空格)。
我的NSPredicate
看起来像这样:
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription entityForName:@"Occasion" inManagedObjectContext:managedObjectContext];
fetchRequest.entity = entity;
NSPredicate *o = [NSPredicate predicateWithFormat:@"categories.occasion.@count !=0"];
if ([self.eventSearchBar.text length] > 0) {
NSPredicate *eventPredicate = [NSPredicate predicateWithFormat:@"title CONTAINS[c] %@", self.eventSearchBar.text];
NSPredicate *compPredicate = [NSCompoundPredicate andPredicateWithSubpredicates:@[o, eventPredicate]];
[fetchRequest setPredicate:compPredicate];
}
else
{
[fetchRequest setPredicate:o];
}
任何关于忽略空白区域的指导都非常有效。我尝试过将CONTAINS这个词改成MATCHES,但这并没有什么不同。