После создания модели сопоставления для основного переноса данных все выражения значений для сопоставления отношений генерируются правильно, за исключением 1 выражения значения, где аргументы заключены в одинарные кавычки (') вместо двойных кавычек ("). Это приводит к ошибке синтаксического анализа.
Вот чего я ожидал:
FUNCTION($manager ,"destinationInstancesForEntityMappingNamed:sourceInstances:" , "MatchToMatch" , $source.matches)
Но вот как генерируется функциональное выражение:
FUNCTION($manager ,'destinationInstancesForEntityMappingNamed:sourceInstances:' , 'MatchToMatch' , $source.matches)
Конкретное выражение значения всегда создается с одинарными кавычками
Когда я изменяю параметр «Source Fetch» на правой боковой панели на «Use Custom(...)» и ввожу выражение вручную, все двойные кавычки снова превращаются в одинарные кавычки.
Когда я изменяю выражение значения непосредственно в таблице Mapping Editor, я получаю следующее сообщение об ошибке:
Невозможно проанализировать строку формата "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"'
Может кто-нибудь объяснить, что происходит и как я могу обойти эту проблему?