Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/94.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 获取具有不同参数数的实体_Ios_Core Data - Fatal编程技术网

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个键/值。我想要的是有一个可以用来获取任何实体的获取代码。