0

我在我的 Iphone 应用程序中使用Core-Data 。在我的核心数据中,我有类似的东西;

[对象:表格,编号:2]

[对象:表格,编号:4]

[对象:窗口,编号:2]

[对象:窗口,编号:5]

[物件:椅子,数量:2]

[物件:椅子,数量:3]

我怎样才能得到一个表最小编号、窗口最小编号和椅子最小编号的 NSArray?谢谢。

4

1 回答 1

2

直接取自苹果网站

https://developer.apple.com/library/ios/#documentation/Cocoa/Conceptual/CoreData/Articles/cdFetching.html

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) 指定顺序

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)你得到一个排序的数组,所以......要么得到最后一个条目,要么得到第一个条目,这取决于你选择的顺序。

于 2012-11-22T21:28:08.077 回答