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

时间:2016-01-27 10:34:54

标签: ios objective-c core-data database-migration

为核心数据迁移生成映射模型后,关系映射的所有值表达式都会正确生成,除了1值表达式,其中参数具有单引号(')而不是双引号(“)。解析错误。

这就是我所期望的:

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

但这是函数表达式的生成方式:

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

A specific Value Expression is always generated with single quotes

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

当我在Mapping Editor表中直接更改Value Expression时,收到以下错误消息:

  

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

当我构建并运行迁移时,收到以下错误消息:

  

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

有人可以解释一下,发生了什么以及如何解决这个问题?

2 个答案:

答案 0 :(得分:1)

答案 1 :(得分:1)

  1. 你需要删除破碎的关系
  2. 添加一个空的“值表达式” Look here