Home

Awesome

Build Status

BranchStatus
MasterBuild Status
DevelopBuild Status

Core Data Editor

<img src="app-icon.png" alt="Core Data Editor Logo" title="Core Data Editor Logo" align="right" />

Core Data Editor lets you easily view, edit and analyze applicationsā€˜ data. Core Data Editor is compatible with Mac and iOS applications and supports XML, SQLite and binary stores, visualizes all relationships and is able to edit the data and generate Objective-C code for the data model.

Core Data Editor will guide you through a short setup process when you initially launch the app. This setup process is entirely optional. You can skip over each and every step if you know what you are doing. It is recommended that you take your time and go though the setup process. It only takes a few minutes.

Donations

If you want to support Core Data Editor you can donate via PayPal.

Thanks.

Building Core Data Editor

Download the sources, open the workspace in Xcode and hit build and run. Done.

Architecture

Core Data Editor is all about displaying and editing managed objects. A large chunk of code simply deals with that aspect.

CDEManagedObjectsViewController

This class is very important because it is responsible for a lot of different things:

A managed objects view controller can display all objects from a specific entity or all objects that are related to an object with regards to a specific relationship (which can be a to-one, to-many (ordered or unordered)).

So, you can throw almost any request at a managed objects view controller and it will just work. It works even though displaying ALL objects that belong to a specific entity works differently than just displaying an object that is part of a to-one relationship. This is where data coordinators come into play. A data coordinator abstracts all the differences away and every managed objects view controller is powered by a data coordinator.

Data Coordinators

As already mentioned each managed objects view controller is powered by a data coordinator. A data coordinator can

A data coordinator is represented by an instance of CDERequestDataCoordinator. This class has a lot of methods for the abilities described above. Most of the methods have a default implementation. This class is supposed to be subclassed. There are several subclasses:

That being said there should be little reason to introduce a new coordinator subclass.

Contributing

If you want to contribute send me pull requests. Have a look at the issue tracker to find out what should be done next.

Credits

Core Data Editor has the following third party dependencies:

Contributors

Contact

Christian Kienle (kienle.christian@icloud.com)

License

3-clause BSD (please don't sue me)