2013-07-09 54 views
0

我目前有一个表格视图,显示数据库Entity:ExData的所有内容。从核心数据库中获取特定数据并在UITableView中显示

ExData有一个字符串类型的属性标记。

我的问题是我希望在表格视图中显示ExData的内容,但只有标签集为2的条目为例。

标签是从先前的视图控制器发送但这是可以以后作为首先挑选出我只想硬代码被显示

ExDatasArray是一个可变的阵列仅一个标记值的条目。

NSManagedObjectContext * managedObjectContext = [self managedObjectContext];

NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] initWithEntityName:@"ExData"]; 

self.ExdatasArray = [[managedObjectContext executeFetchRequest:fetchRequest error:nil] mutableCopy]; 

以上就是如何从ExData数据被取出......

回答

0

要获取具体的数据,您添加谓词的读取请求:

NSString *theTag = ... 
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"tag == %@", theTag]; 
[fetchRequest setPredicate:predicate]; 

备注:如果你在一个表格视图中显示结果集,你也可以考虑 使用NSFetchedResultsController

+0

@ user2512523:不客气! –

0

如果我正确理解你的问题,你正试图限制fetchRequest的结果。使用NSPredicate指定查询,并根据需要使用NSSortDescriptor对其进行排序。下面我假设你的标签属性被命名为tag,并且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]; 
} 
相关问题