And to be clear, yes CoreData was launched on Mac OS a while back, and then added to iOS, but CoreData is in fact way older than that. CoreData is a descendant of EOF: Enterprise Objects Framework that was created at NeXT, during the Objective-C days (aka before WebObjects moved to Java).<p>So Apple has a long history on integrating the ObjC runtime with a back end database.
I will be curious to see if something new for CoreData will be coming with Swift.
<i>Don't put anything in your model code</i><p>This is a SERIOUS code smell in my opinion. You <i>want</i> business logic in your model layer. That's where it belongs. A good persistence layer does not dictate model design.
Since the article assumes you already know, Core Data seems to be an iOS-only (and I guess MacOS?) ObjC ORM. If you want compile time safety or portability, look elsewhere.