4
我是iOS开发中的新出价。我正在使用核心数据NSManagedObject来执行插入和提取操作。它工作得很好。但问题是,我想从表中只提取一些选定的记录(MySQL中的条件)。 例如“从城市='浦那'的用户中选择姓名”; 我发现NSPredicate获取过滤的数据。但它提供了数组中的所有数据,而不仅仅是所选数据。对于例如如果结果为上面的查询是:如何获取核心数据中的特定记录
然后NSPredicate结果会给:
fname = Anu
lname = Padhye
city = Pune
id = 3
有没有办法只能在iOS的Objective-C的取选定的记录/秒?以下是我使用NSManagedObject代码片段:
NSManagedObjectContext *managedObjectContext = [self managedObjectContext];
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] initWithEntityName:@"User"];
valueData = [[managedObjectContext executeFetchRequest:fetchRequest error:nil] mutableCopy];
NSEntityDescription *productEntity=[NSEntityDescription entityForName:@"User" inManagedObjectContext:managedObjectContext];
NSFetchRequest *fetch=[[NSFetchRequest alloc] init];
[fetch setEntity:productEntity];
NSPredicate *p=[NSPredicate predicateWithFormat:@"id == %d", 3];
[fetch setPredicate:p];
//... add sorts if you want them
NSError *fetchError;
NSArray *fetchedProducts=[valueData filteredArrayUsingPredicate:p];
的ID城市的所有记录非常感谢。这工作得很好:) –
如何在Core Data中添加“group by”逻辑以避免数据重复。 – Developer