Development Restructure

Restructure 2.1.0 Released

Restructure 2.1.0 is a minor feature release. sqliteVersion has been added to inspect the version of SQLite that is being used. has been removed as it is no longer safe nor supported.

This release also adds Dynamic Member Lookup to the Row class, allowing the use of property-like accessors. For example:

/// Old Method
let value: Int = row["someValue"]

/// New Method
let value: Int = row.someValue
Approximate Speed Development Restructure

Approximate Speed 1.2 Released

Approximate Speed IconApproximate Speed 1.2 has been released, adding support for iOS 13 and Dark Mode. Under the hood, Approximate Speed now uses Restructure for its data management, as well as Swift Package Manager to manage all of its dependencies.

In related news, my fork of Chameleon on the Swift5 branch also supports Swift Package Manager.

Development Restructure

Restructure 2.0.0 Released

In preparation for iOS 13, tvOS 13, & macOS 10.15, I’ve released Restructure 2.0.0. The major change for this release is the move to Swift Package Manager for distribution. All of the Apple ecosystem is moving to SPM, and so goes Restructure. No more submodules!

This release also adds some additions mentioned in the WWDC 2019 session Optimizing Storage in Your App. Journal and vacuum modes can now be modified to better manage your storage usage. Secure deletion has is also configurable.

Development Restructure Score Card

Score Card 2.1 Released

My Score Card app had been neglected for a while, and since I was already in the mode of updating iOS apps, I gave this app the same curtesy. As with my other projects, I’ve updated the app to Swift 5 and Restructure. Along with that, the app should look better on modern iOS devices.

As an added bonus, I added a custom keyboard, since the stock keyboards on iOS never presented the exact right combination of keys to make score entry easy. Along with that keyboard, the iPad version gets simple physical keyboard support for quickly editing scores.

Editing scores on iPhone

I also moved the app from free to $0.99. This is more of an experiment, since the app already has a good amount of users and there is zero advertising done to it.

Check it out on the App Store.

Development Restructure Structure

Announcing: Restructure 1.0.0

In the process of writing Formula Control, I decided it was time to rethink my SQLite wrapper, Structure. I started writing my original library when Swift 1.0 was announced. It was migrated through the big language transitions of Swift and was starting to show its age. The framework was also my first attempt at writing a Swift library and a SQLite wrapper, so I didn’t know what I needed and which features were overkill.

And so Restructure was born. The new framework simplifies the API I had created before, hiding relationships between statement and database, and removing internal queueing that was never necessary. It adopts many more datatypes, and makes it easier to work with more complex datatypes like arrays and dates.

Along with a clean up, Restructure also adopts more modern features of Swift. Statements are also Sequences, so now results can be iterated, mapped, reduced, or anything else a Sequence can do. Statements are Encodable and Rows are Decodable, making transitions between database and data structure seamless.

Check it out on GitHub. There are examples and unit tests to learn form.