Personnalisée des méthodes de définition dans la Base de Données

J'ai besoin d'écrire une coutume méthode de définition d'un champ (nous allons l'appeler foo) dans mon sous-classe de NSManagedObject. foo est défini dans le modèle de données et Xcode est générée automatiquement @property et @dynamic champs de la .h et .m des fichiers respectivement.

Si j'écris mon setter comme ceci:

- (void)setFoo: (NSObject *)inFoo {
    [super setFoo: inFoo];
    [self updateStuff];
}

puis je reçois un message d'avertissement du compilateur sur l'appel à super.

Sinon, si je fais ceci:

- (void)setFoo: (NSObject *)inFoo {
    [super setValue: inFoo forKey: inFoo];
    [self updateStuff];
}

puis je me retrouve dans une boucle infinie.

Quelle est donc la bonne approche pour écrire un personnalisé définition pour une sous-classe de NSManagedObject?