Yes, there is a read-only data sets.
OK. That’s important because dealing with read/write data is a whole different kettle of fish.
So, what you suggest to replace plists?
That depends on a bunch of other factors. What does this data look like? How are you accessing it? And do you need simultaneous access to all of your tables? Or just one table at a time?
When dealing with large data sets the goạl is to avoid bringing all of the data in memory. There’s three basic strategies for this:
If your access pattern is linear, it makes sense to stream through the data with file system APIs. The canonical example of this is movie playback.
If the data will fit in virtual memory but is too big for physical memory, you might compile the data to a format that’s can be used directly and then memory map that file. The VM system will then take care of loading data as you access it, and unloading data when the system needs to recover physical memory.
In more complex cases it might make sense to use a database-style design. Both SQLite and Core Data work well for this. These support random access and complex queries.
Share and Enjoy
—
Quinn “The Eskimo!”
Apple Developer Relations, Developer Technical Support, Core OS/Hardware
let myEmail = "eskimo" + "1" + "@apple.com"