iPhone:类似于核心数据中的"where"类型子句



我在我的问题应用程序中首次使用核心数据,我已经做了很多Google,但我没有找到特定的解决方案。

我有 entity :sub category

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

分享您的想法

thanx提前。

从您的问题中,您需要什么,

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

您可以像这样做

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];

最新更新