2012-01-09 99 views
0

我在理解如何使用核心数据加载数据时遇到麻烦。这是我有:核心数据iPhone - 加载字符串

实体命名为“人民 名为 '的firstName'(字符串), 'lastName的'(字符串)这个实体的属性, 'isSpecial'(布尔), 'isVerySpecial'(布尔)。

我想得到任何特殊或非常特殊的人的名字和姓氏,以便我可以将这些名称放入标签中,并随时随地喜欢我喜欢的任何名称。我已经玩了取消请求,但没有运气。

任何帮助将不胜感激,谢谢。

回答

2

像这样的东西应该这样做:

NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init]; 
NSEntityDescription *weightEntity = [NSEntityDescription entityForName:@"Person" inManagedObjectContext:[[yourCoreDataManager sharedInstance] managedObjectContext]]; 
[fetchRequest setEntity:weightEntity]; 
[fetchRequest setPredicate:[NSPredicate predicateWithFormat:@"isSpecial == %@ OR isVerySpecial == %@", [NSNumber numberWithBool:YES], [NSNumber numberWithBool:YES]]]; 

NSError *error = nil; 
NSArray *result = [[yourCoreDataManager sharedInstance] managedObjectContext] executeFetchRequest:fetchRequest error:&error]; 

然后:

Person *person = [result objectAtIndex:0]; 
NSString *lastName = person.lastName; 
NSString *firstName = person.firstName; 
0

类似的东西应该做的伎俩:

self.fetchedResultsController = [Person fetchAllSortedBy:@"lastName" ascending:YES withPredicate:[NSPredicate predicateWithFormat:@"isSpecial == %@ OR isVerySpecial == %@", [NSNumber numberWithBool:YES], [NSNumber numberWithBool:YES]] groupBy:nil delegate:self]; 

那么你会得到你的fetchedResultsController人员组成的数组。为了得到它使用简单

NSMutableArray *yourArray = [NSMutableArray arrayWithArray: self.fetchedResultsController.fetchedObjects]; 

希望它可以帮助