CoreData自定义提取(不是所有数据)iPhone

时间:2010-08-13 12:36:28

标签: core-data

我使用CoreData存储数据,我有一些实体。 我如何通过CoreData做一些自定义语句? 所以我的意思是我不想获取数据表中的所有记录,但例如“keyValue = something的每个元素”,而不是更多。或者例如最后3个元素。等等 那么我可以用什么方式进行自定义语句来获取所需的数据?

1 个答案:

答案 0 :(得分:1)

// Init your fetchRequest
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];

NSEntityDescription *entityDescription = [NSEntityDescription entityForName:@"entityName" inManagedObjectContext:yourManagedObjectContext];

// create the relation between request and the created entity
[fetchRequest setEntity:entityDescription]; 

// Set your predicate for this request
NSPredicate *somePredicate = [NSPredicate predicateWithFormat@"%K == %@", @"name", @"John"];
[fetchRequest setPredicate:somePredicate];

// Pushing the results into a array
NSError *error = nil;
NSArray *fetchResults = [yourManagedObjectContext executeFetchRequest:fetchRequest error:&error];

[fetchRequest release];

此示例提取实体“entityName”中的所有记录,其中“name”属性等于“John