Hacker News new | past | comments | ask | show | jobs | submit login

OK, I’m not an iOS developer. Can anyone explain what this means?



Core Data is basically a layer over SQLite that turns it into an object graph database.

External data storage lets you offload large binary data from being stored in the SQLite database without changing how you access that data from objects in the graph.

An example might be if you're creating a photo library. Rather than storing the actual photos as say BLOB data in SQLite, you can tell Core Data to transparently store it as an external file. It then basically stores the filename and some metadata in SQLite instead, keeping the SQLite database small without changing the Core Data API to access the data.


Core Data is an object graph and persistence framework [1]

On iOS 12, binary data stored in Core Data with the External Storage option gets corrupted on every second save [2]

[1] https://en.wikipedia.org/wiki/Core_Data

[2] http://openradar.appspot.com/44884416


Core Data is an object persistence framework for iOS that essentially wraps around SQL. It looks like it’s losing data when the external storage option is enabled.


What does external storage refer to here? I don't think iOS has extendable storage does it? So is it eg. iCloud?


It appears to be "external" to the sqllite database

https://forums.raywenderlich.com/t/where-is-allows-external-...


If you have a large amount of data to store, instead of embedding it in-line inside the database itself you’d store it in a separate file.




Consider applying for YC's Summer 2025 batch! Applications are open till May 13

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: