Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Structure:
DataManager
containsdb: Connection?
, which is the main (only) database handle.DataManager
provides functions to open a database, create a new database, create a sample database.Views access the database through
@EnvironmentObject dataManager
.dataManager.repository
returns aRepository?
, which represents the whole database and encapsulates a few details of database access.dataManager.<T>Repository
returns a<T>Repository?
, which represents table<T>
and encapsulates the database access to a single table.Repository
and<T>Repository
containdb: Connection
, which is not optional. For convenience, there are initializers for an optionaldb
, which returnRepository?
and<T>Repository?
.