If the focus is on storage, there will be little difference in b / w sqlite and main data.
I had to store UIViewControllers with state in the application, as a result of which I did not save serialized objects, but only the most specific properties were saved and created a class that read this data and redirected these objects.
The property map was then saved in csv [admittedly very difficult to manage, but small, like everyone else), and then compressed.
source share