我目前有一个表视图,显示数据库Entity:ExData的所有内容。
ExData具有字符串类型的属性标记。
我的问题是,我想在表视图中显示ExData的内容,但只显示标记集为2的条目。
标签将从以前的视图控制器发送,但这可以稍后进行排序,因为首先我只想对显示的一个标签值条目进行硬编码
ExDatasArray是一个可变数组。
NSManagedObjectContext*managedObjectContext=[self-managedObjectContext];
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] initWithEntityName:@"ExData"];
self.ExdatasArray = [[managedObjectContext executeFetchRequest:fetchRequest error:nil] mutableCopy];
以上是如何从ExData中提取数据的。。。
要获取特定数据,请在获取请求中添加谓词:
NSString *theTag = ...
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"tag == %@", theTag];
[fetchRequest setPredicate:predicate];
备注:如果您在表格视图中显示结果集,您也可以考虑使用CCD_ 1。
如果我正确理解您的问题,那么您正试图限制fetchRequest的结果。使用NSPredcate指定查询,如果需要,还可以使用NSSortDescriptor对其进行排序。下面,我假设您的标记属性是命名标记,并且searchTagValue设置正确。
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] initWithEntityName:@"ExData"];
fetchRequest.predicate = [NSPredicate predicateWithFormat:@"tag == %@", searchTagValue];
fetchRequest.sortDescriptors = [NSArray arrayWithObject:[NSSortDescriptor sortDescriptorWithKey:@"tag" ascending:YES]];
NSError *error;
NSArray *results = [managedObjectContext executeFetchRequest:fetchRequest error:&error];
if (!result) {
// handle error
}
else {
self.ExdatasArray = [results mutableCopy];
}