The problem with overriding a method in a category is that you cannot invoke the original implementation, as usual, using [super doSomething]. Usually, when you redefine a method, you still want to be able to call the initial implementation that does something extra before and / or after the original implementation.
One pretty clean solution is to let Xcode generate subclasses of NSManagedObject that you don't directly touch. Instead, create another custom subclass of each subclass of NSManagedObject created by Xcode that you can edit without worrying about overwriting it.
Wolf Rentzsch mogenerator , Xcode . , , , mogenerator, , .