我正在努力让正则表达式函数与CoreData fetch一起工作。我有一个在我试图过滤maps
的子类上命名的属性。NSManagedObject
该maps
属性是一个带有 id 值列表的字符串,如下所示:
1,10,12,8
这是我的谓词的构造方式:
NSString *format = [NSString stringWithFormat: @"(maps matches '.*\\b%@\\b.*')", _map.mapID];
NSPredicate *predicate = [NSPredicate predicateWithFormat:format];
[request setPredicate:predicate];
NSManagedObjectContext *moc = [[RKManagedObjectStore defaultObjectStore] primaryManagedObjectContext];
_resultsController = [[NSFetchedResultsController alloc] initWithFetchRequest:request
managedObjectContext:moc
sectionNameKeyPath:@"name.stringGroupByFirstInitial"
cacheName:nil];
我使用这个 Rubular 示例构建了 RegEx:http ://rubular.com/r/zELaz19x0T
该mapID
值是作为字符串的整数。
我已经阅读了关于 SO 关于谓词匹配整个字符串的其他问题,但我觉得应该使用该模式在模式.*
的开头和结尾使用该模式来处理。
此代码的结果始终返回零结果。如果未使用谓词,则按预期返回所有对象。谁能看到这里有什么问题?谢谢!