Meine Empfehlung wäre, KVC zu verwenden. Vielleicht nicht die eleganteste Lösung, aber konzeptionell eine logische Anwendung von KVC.
Beobachten Sie eine Änderung des Attributs. Registrieren Sie die Änderung in init(entity:insertIntoManagedObjectContext:)
oder besser in awakeFromFetch
und awakeFromInsert
und entfernen Sie den Beobachter in willTurnIntoFault
.
Aktualisiert für Swift 3:
%Vor% Es gibt sogar einen einfacheren Weg, wie Sie es tun können, ohne das KVO-Abonnement zu verwalten. Dies kann einfach durch Überschreiben von didChangeValueForKey:
wie folgt geschehen: