1

我第一次在我的应用程序中使用核心数据来解决我的问题我已经做了很多谷歌但我没有找到具体的解决方案。

我有实体:子类别

属性: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 中获取类似类型的数据

分享你的想法

提前谢谢。

4

2 回答 2

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 的教程在这里。也检查一下。

于 2012-11-08T07:11:38.337 回答
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];
于 2015-01-09T17:03:00.897 回答