我在我的应用程序中第一次使用核心数据来解决我的问题我已经做了很多google但是我没有找到具体的解决方案。
我有实体:SubCategory
属性:mainCategoryId,subCategoryName
现在我想获取像
这样的数据Select subCategoryName from SubCategory where mainCategoryId=1;
我实施的代码如下:
NSFetchRequest *request = [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription entityForName:@"SubCategory" inManagedObjectContext:managedObjectContext];
[request setEntity:entity];
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SubCategoryName == %@",@"Triangular1"];
[request setPredicate:predicate];
NSError *error;
arrSubCategory = [managedObjectContext executeFetchRequest:request error:&error];
如何在coredata中获取类似的数据
分享您的想法
提前完成。
答案 0 :(得分:2)
根据您的问题,您需要的是什么,
[NSPredicate predicateWithFormat:@"mainCategoryId = %@",@"1"];
所以你的代码看起来像,
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription
entityForName:@"SubCategory" inManagedObjectContext:context];
[fetchRequest setEntity:entity];
NSPredicate *predicate =[NSPredicate predicateWithFormat:@"mainCategoryId = %@",@"1"];
[request setPredicate:predicate];
NSArray *fetchedObjects = [context executeFetchRequest:fetchRequest error:&error];
for (NSManagedObject *info in fetchedObjects) {
NSLog(@"subCategoryName: %@", [info valueForKey:@"subCategoryName"]);
}
以上只是一个示例代码。根据您的要求,实际实施可能会有所不同。
关于coredata is here的教程。检查一下。
答案 1 :(得分:0)
你可以这样做
NSString *maincategoryId = @"1";
NSManagedObjectContext *managedObjectContext = [self managedObjectContext];
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] initWithEntityName:@"SubCategory"];
[fetchRequest setPredicate:[NSPredicate predicateWithFormat:@"rubriqueid == %@", maincategoryId]];
并且在您调用NSMutableArray来放置结果之后:
NSMutableArray *answensmuarray = [[managedObjectContext executeFetchRequest:fetchRequest error:nil] mutableCopy];