Я пытаюсь выполнить пользовательскую миграцию, следуя найденным инструкциям здесь , изменяя имя и тип атрибута, но, похоже, не выполняется сопоставление.
СтарыйМодель имеет атрибут имен «roundDrill», который является логическим.В новой модели это удалено, и новый атрибут с именем "killType", который является строкой.
У меня есть модель отображения, называемая "V2V3.xcmappingmodel", где у сущности есть настраиваемый набор политик "Diamond_Painting_Logbok.V2V3".Новый атрибут имеет значение "FUNCTION ($ entityPolicy," roundToType: ", $ source.roundDrill)"
В "V2V3.swift" у меня есть следующий код
import UIKit
import CoreData
class V2V3: NSEntityMigrationPolicy {
func roundToType(isRound:NSNumber) -> String {
NSLog("Round: \(isRound)")
if isRound.boolValue {
return "Round"
} else {
return "Square"
}
}
}
Когда я распечатываю значение DrillType, я получаю ноль.NSLog для функции не печатается вообще.Если я изменяю имя пользовательской политики, оно не выдает мне ошибку, поэтому кажется, что оно полностью игнорируется