Как выбрать все строки из сущности с помощью NSFetchedRequest или NSPredicate? - PullRequest
3 голосов
/ 11 января 2012

Я очень новичок в Core Data, и я все еще запутался с ним и со всеми его возможностями.

У меня есть таблица USER в моей модели, и я хотел бы получить все строки как «SELECT * FROM USER».

Какой лучший способ добиться этого?

Большое спасибо за помощь.

Ответы [ 3 ]

14 голосов
/ 01 февраля 2013

Используйте [NSPredicate precateWithValue: YES] для выбора всех.

6 голосов
/ 11 января 2012

Из документов NSFetchRequest:

Если вы не укажете предикат, тогда будут выбраны все экземпляры указанной сущности (с учетом других ограничений, см. ExecuteFetchRequest: ошибка: для полной информации)детали).

1 голос
/ 11 января 2012

Базовая операция выборки выглядит так:

NSEntityDescription *entity = [NSEntityDescription entityForName:theEntityName inManagedObjectContext:_context];

NSFetchRequest *request = [NSFetchRequest new];
[request setEntity:entity];

На этом этапе вы можете применить сортировку, используя NSSortDescriptor.

Затем вы выбираете все сущности:

NSError *error;    
NSMutableArray *fetchResults = [[_context executeFetchRequest:request error:&error] mutableCopy];
...