Ios 获取具有不同参数数的实体
我有几个实体,它们的参数或多或少相同,但数量不同 例如:Ios 获取具有不同参数数的实体,ios,core-data,Ios,Core Data,我有几个实体,它们的参数或多或少相同,但数量不同 例如: EntityA : model, code, color, name EntityB : model, code, color, name, country EntityC : model, code, color, name, country, style, date 因此,我没有为实体创建类,因此通过这样做可以方便地向“entityA”添加内容: NSArray *keys = @[@"model", @"code", @"colo
EntityA : model, code, color, name
EntityB : model, code, color, name, country
EntityC : model, code, color, name, country, style, date
因此,我没有为实体创建类,因此通过这样做可以方便地向“entityA”添加内容:
NSArray *keys = @[@"model", @"code", @"color", @"name"];
NSManagedObject *newObjectOnEntity = [NSManagedObject newObjectOnEntity:@"entityA"
inManagedObjectContext:self.managedObjectContext];
NSDictionary *dict = [NSDictionary dictionaryWithObjects:values forKeys:keys];
[newObjectOnEntity setValuesForKeysWithDictionary:dict];
我只需向键和值添加更多条目,就可以使用相同的代码向所有实体添加内容
但现在是取回部分
此时,我需要在entityA上执行如下提取:
获取(model=“abc”)&&&&(code=“zoltrix”)&&&(color=“blue”)&&&(name=“roger”)
如果实体为B,则提取也将具有&&(country=“usa”)
,如果实体为C,则提取也将具有样式和日期
因此,我要问的是,我是否可以获取一个参数数组,一个值数组,然后它在该实体上搜索匹配所有参数和值的条目(parameter1==value1)&&(parameter2==value2).
所以我要问的是,我是否可以获取一个参数数组,一个值数组,然后它在实体上搜索匹配所有参数和值的条目
当然可以。在NSPredicate
语法中,可以使用%K
指定字段名,使用%@
指定值(或其他格式说明符)
(请检查“.”中的“”)如果实体缺少一个键,它是否匹配,或者仅当值不匹配时才匹配?提取将始终具有相同数量的参数和键,不同的实体将具有不同的数字。在我的示例中,entityA、entityB和entityC有4个键/值、5个键/值和7个键/值。我想要的是有一个可以用来获取任何实体的获取代码。