Before Swift, projects that I worked on used SQLite directly. I could have done the same with Swift, but it felt like I could benefit from writing a wrapper. I used this as a means to teach myself Swift, as well as create something that I could reuse throughout my projects.
Enter Structure! Structure is by no means a complete SQLite wrapper. This framework performs the basic CRUD operations I need, as well as maintain some semblance of thread safety. It also provides simple data access and value transformations.
If you’re curious, check out the GitHub page. There is some simple documentation and lots of tests to get a feel for how the framework works.