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