0
我在我的Iphone应用程序中使用核心数据。在我的核心数据我有类似的东西;Objective-C,核心数据问题
[对象:表,数:2]
[对象:表,数:4]
[对象:窗口,编号:2]
[对象:窗口,编号: 5]
[对象:椅子,编号:2]
[对象:椅子,数:3]
我怎样才能得到一个NSArray与表的最低号码,窗口的最低号码和椅子的最低号码?谢谢。
我在我的Iphone应用程序中使用核心数据。在我的核心数据我有类似的东西;Objective-C,核心数据问题
[对象:表,数:2]
[对象:表,数:4]
[对象:窗口,编号:2]
[对象:窗口,编号: 5]
[对象:椅子,编号:2]
[对象:椅子,数:3]
我怎样才能得到一个NSArray与表的最低号码,窗口的最低号码和椅子的最低号码?谢谢。
从苹果网站
1)直取指定你想获得
NSManagedObjectContext *moc = [self managedObjectContext];
NSEntityDescription *entityDescription = [NSEntityDescription
entityForName:@"Employee" inManagedObjectContext:moc];
NSFetchRequest *request = [[NSFetchRequest alloc] init];
[request setEntity:entityDescription];
2)指定您正在寻找的特点酒色实体的类型,(你可以忽略这一点,因为你想所有)
// Set example predicate and sort orderings...
NSNumber *minimumSalary = ...;
NSPredicate *predicate = [NSPredicate predicateWithFormat:
@"(lastName LIKE[c] 'Worsley') AND (salary > %@)", minimumSalary];
[request setPredicate:predicate];
3)spe cify的命令
NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc]
initWithKey:@"firstName" ascending:YES];
[request setSortDescriptors:@[sortDescriptor]];
NSError *error;
NSArray *array = [moc executeFetchRequest:request error:&error];
if (array == nil)
{
// Deal with error...
}
4)你得到一个排序的数组,所以...得到最后或第一个条目,取决于你选择的顺序。
对不起,我问我的问题不好。我编辑它。 – tchike
如果表,窗口和椅子是不同的实体,那么你可以按照上述相同的方式为它们提取,如果它们是相同的实体,你可以使用谓词来获取3次,以搜索类似于@“type = chair”的东西其余的答案是相同的,或者你可以像上面和数组内部一样对它进行排序,以便在数组中找到一个简单的for循环,当你找到3中的第一个时,搜索3中的任何一个,一个,然后你继续通过数组,直到你得到这种类型的其他2个第一个对象。 – Pochi
他们在同一个实体中。我会这样做,谢谢。 – tchike