In previous releases of Xcode, only the class Main data object, for example, was created for each class. class "BibleAudio" in BibleAudio.h/.m . These files were overwritten every time you recreated subclasses of managed objects. Therefore, to add your own functionality to the Core Data class, you had to define a category (in separate files) in the class.
The big drawback was that you can add methods to category categories, but not instance variables. Thus, you cannot add a simple property (backup copy of instance variable). One possible definition of a transient property is in essence, but these are also disadvantages.
Xcode now creates the BibleAudio class (in BibleAudio.h/.m ), which is essentially empty, and the BibleAudio (CoreDataProperties) category in BibleAudio + CoreDataProperties.h/.m The category files contain all the basic data properties and are overwritten when repeated subclassing a managed entity.
Class files BibleAudio.h/.m are created only once and are never overwritten. You can add functionality there: the methods are still, as well as custom properties and instance variables. Because it is a class and not a category, the old restrictions no longer apply.
source share