Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/120.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_Objective C_Core Data_Database Migration - Fatal编程技术网

Ios 核心数据关系映射:值表达式中的双引号自动转换为单引号

Ios 核心数据关系映射:值表达式中的双引号自动转换为单引号,ios,objective-c,core-data,database-migration,Ios,Objective C,Core Data,Database Migration,为核心数据迁移生成映射模型后,将正确生成关系映射的所有值表达式,但1个值表达式除外,其中参数使用单引号(')而不是双引号(“)。这将导致分析错误 这就是我所期望的: FUNCTION($manager ,"destinationInstancesForEntityMappingNamed:sourceInstances:" , "MatchToMatch" , $source.matches) 但函数表达式是这样生成的: FUNCTION($manager ,'destinationInsta

为核心数据迁移生成映射模型后,将正确生成关系映射的所有值表达式,但1个值表达式除外,其中参数使用单引号(')而不是双引号(“)。这将导致分析错误

这就是我所期望的:

FUNCTION($manager ,"destinationInstancesForEntityMappingNamed:sourceInstances:" , "MatchToMatch" , $source.matches)
但函数表达式是这样生成的:

FUNCTION($manager ,'destinationInstancesForEntityMappingNamed:sourceInstances:' , 'MatchToMatch' , $source.matches)

当我将右侧边栏中的“Source Fetch”选项更改为“Use Custom(…)”并手动输入表达式时,所有双引号都会变回单引号

直接在映射编辑器表中更改值表达式时,会收到以下错误消息:

无法分析格式字符串“FUNCTION($manager>,“destinationInstancesForEntityMappingNamed:sourceInstances:”,>“MatchToMatch”,$source.matches)==1”

生成并运行迁移时,会收到以下错误消息:

2016-01-27 10:30:33.875 mapc[1431:352140]***由于>未捕获异常“NSInvalidArgumentException”而终止应用程序,原因:“无法解析>格式字符串”函数($manager>,'DestinationInstancesForentyMapping:sourceInstances:',>'MatchToMatch',$source.matches)==1“'


有人能解释一下,到底发生了什么,以及我如何解决这个问题吗?

这里的问题是匹配是一个保留关键字

保留关键字:

检查此处描述的注释:

  • 你需要消除破裂的关系
  • 添加带有空“值表达式”的新表达式

  • 虽然这在理论上可以回答这个问题,但在这里包括答案的基本部分,并提供链接供参考。这就是我的情况,谢谢!还要注意关键字不区分大小写