I’m a programmer who has done mobile development for a number of years and specialized in iOS development for most of it. In my development career, I’ve had an interesting journey including quality assurance, release engineering, teaching, mentoring, and documentation.
Below you’ll find a series of weekly blog posts about the development of an app to manage tasks and appointment:
Posts
-
Text Models
One of the biggest factors into why I love
TaskPaper
is the way that it effortlessly converts to and from text files. For myTaskManager
app, I consider that to be must have functionality as well.We’ll be talking about
String
parsing as we break down converting back and forth from a hypotheticalTaskPaper
project with multiple tasks. Some of these tasks may have a variety of tags. As well as the possibility of notes.All of the code for this blog post is in this sample code repo.
-
Testing Event Kit Manager
Unit Testing a manager that wraps third-party functionality can be challenging. You don’t want to waste your time and energy testing something that one assumes that the vendor has already tested and supports. If they’ve given you an API, you need to trust that API is accurate.
What you want to test is your business logic and your code. There are two ways to do that. One is to leverage a pseudo object that conforms to the API but you can control the outputs. Ie; if you should be thrown an error, you can trigger that; or if you should be given a response, you can control what the response is.
This lets your tests focus on your business logic, not someone else’s.
All of the code for this blog post is in this sample code repo.
-
Event Kit Manager
Apple’s
EventKit
can be a pain to work with. There’s specific logic that you need to make sure that you follow, so your app handles the permissions properly.The easier way to do this is to wrap the
EventKit
functionality in a manager that will manage the requests for permissions and ensure that the actual calls to the services are done properly.All of the code for this blog post is in this sample code repo.
-
Models and Extensions
This is where we start getting into the nuts and bolts of the infrastructure for the project by building models, extensions to make the use of these models easier as I put together date utilities to make my life easier.
Luckily,
TaskManager
makes things a little easier in terms of dates. We only have two major date formats to convert to and from aDate
foundation class:"yyyy-MM-dd"
and"yyyy-MM-dd HH:mm"
(ie;"2024-10-31"
and"2024-10-31 10:31"
).All of the code for this blog post is in this sample code repo.
-
The Power of Enums in Swift
Enums are one of my favorite parts of the Swift language. They’re one of the most powerful value-based objects.
In this post, we’ll be discussing increasingly complex uses of enums.
All of the code from this blog post is in a playground.
-
TaskManager Overview
Breaking down a project into milestones and figuring out your roadmap can be a struggle. Let’s walk through an example for the project that I’ll be working on in a series of blog posts.
subscribe via RSS