This means that even minor changes require that the whole file be loaded into memory, and then the whole file be written back to disk when it is saved. If, however, you’re using Core Data with an SQLite database, changes can be made incrementally instead.
A common alternative to Core Data for persisting application data is to use XML Property Lists.
Now consider the following entities: The line with the double-headed arrow indicates a to-many relationship from the Task entity to the Subtask entity.
This means that a task can now have multiple subtasks, not to mention that reference to the parent task can be obtained through the inverse relationship!
The ability to organize data into entities structured with relationships is where more of its true power lies.
For example, consider the following entity that represents a task: The Task entity contains a name and subtask_name attribute.