This is my accepted submission to WWDC18. It is rendition of the game ‘Connect-4’, a simple two player game where the objective is to line up four discs vertically, horizontally or diagonally before the other player does.
I developed a concept similar to Redux to hold a “store” of state for the application. This contains a list of subscribers, which get notified of any changes to the state. Changes can occur by giving the store an action, and in return it produces the new state having taken into account the action performed. This source code for this can be found in a separate repository: SwiftRedux
Here's a snapshot of the game: