S01E13: Improving the Game Flow with Swift Generics
/In this episode, we improve the Router and Flow components of the Engine framework by replacing the previously hardcoded String type for Question and Answer.
Read MoreSkilled, disciplined and professional iOS software development resources tailored for you
In this episode, we improve the Router and Flow components of the Engine framework by replacing the previously hardcoded String type for Question and Answer.
Read MoreIn this episode, we review the overall architecture of the game, so far formed by the Engine, Routing, Presentation and UI layers.
Read MoreIn this episode, we complete the Game UI. We put the final touches to the ResultsViewController by implementing the wrong answer cell and refactoring anything we see fit. Finally, we run the app and make sure the layout follows the guidelines of the prototype.
Read MoreIn this episode, we continue the implementation of ResultsViewController by test-driving the configuration of the cells. As we showcased in episode 7, the behavior and the layout of a view are two separate things, which can be tested and implemented independently.
Read MoreIn this episode, we continue the development of the UI as we start implementing the ResultsViewController, a class responsible for showing the result of a finished game. Unlike the QuestionViewController, we reach a point where we need to deal with more complicated logic for displaying the right information on the screen...
Read MoreIn this episode, we finish the QuestionViewController implementation by test-driving the table view delegate behavior. We start by refactoring the delegate selection in the QuestionViewController tests, and we lay out the UI to match the prototype.
Read MoreIn this episode, we refactor the QuestionViewController class and its tests, and we introduce a way for notifying a delegate when the user selects an answer.
We start the test refactoring by making use of a factory method with default values, so, in the event of...
Read MoreIn this episode, we dive in the UI side by following the same principles and disciplines we did before. We create and test-drive the QuestionViewController, a class responsible for displaying a question and its options for answers.
Read MoreIn this episode, we finish the Game Flow by creating a solution for accumulating the questions and answers and a new method for routing to the result.
We use the mutation testing technique to check if the behavior of the Flow class is well covered by our tests...
Read MoreWe begin the third tomato by sanitizing our FlowTest class. We refactor the tests by removing duplicated code, we talk about different ways for organizing the test setup code and we showcase the factory method for the creation of the system under test. These changes will prove very valuable as the project grows.
Read MoreFirst-class iOS engineering with Empathy, Integrity, and Economics in mind. Skilled and disciplined training for iOS professionals and teams.
I've been writing software since 1998, professionally since 2006, and on Apple platforms since 2009. I love building robust, well-engineered, and beautiful applications and coaching developers to achieve their best potential.
I'm a software engineer from Athens, Greece. My goal is to help the software industry evolve by enabling developers and companies to practice valuable techniques and build powerful and durable systems.