- Removing Strings as keys in User Defaults
Mon Apr 26, 2021
I haven’t written anything in nearly a year. Pandemic fatigue is painfully present. Endless time at home and zero motivation. So please bear with me as I try to squeeze out a short article about a tiny piece of code that I’m proud of. The first bit of code I’ve written that I actually like in quite a while. The setup User defaults. Love it or hate it, it’s used everywhere.
- Be a Slow Developer
Thu Jun 18, 2020
WWDC 2020 is just about to kick off and with it will come a plethora of new APIs to work with and excite developers. It’s basically Apple developer Christmas. Last year was jam packed full of goodies for developers including Combine and SwiftUI, which both took a lot of the lime light. After watching the keynote, and pouring over new documentation while Slacking peers about all the potential uses for new APIs in your existing apps, a lot us can be left feeling overwhelmed, and that’s why I wanted to talk briefly about the idea of being a slow developer.
- Re-creating a COVID-19 simulation
Mon Mar 30, 2020
Like most of the world right now, my news feed is dominated by one thing. Coronavirus. Every news app or site that I normally scroll through has become a slew of articles about this solitary topic. Some good, some dangerously bad, and some fascinating. For me, the articles that draw me in the most are ones that present data, and present it well. Tomas Pueyo has written some great articles on Medium that are definitely worth a read, but the main one that caught my eye was this one from The Washington Post.
- Push Notification Analytics
Wed Jan 08, 2020
Any time I have to add push notifications to a project I get both excited and scared all at once. I’m excited because when I get them working it’s still one of the things that seems like witchcraft to me. However, they scare me because I know that their looming implementation is always fraught with more difficulty than first expected, even if you take that into account when making your estimates for the work!
- Solving the builder problem with Swift 5.1
Tue Nov 19, 2019
At this stage the entire community seems to be using some shiny architecture for their Swift apps. Most of the time it appears to be MVVM, but I still stumble across some MVP and even some brave enough to run with VIPER. When I started learning about properly implementing some of these architectures (which was a shorter time ago than I’d like to admit) they seemed great, but I kept getting stuck at one point.
- Using GYB to generate mock classes for testing
Tue Nov 12, 2019
I’ve previously made a switch from using MVP as my main architecture to MVVM. As a result, this article won’t be as applicable for me as it would have around six months ago, but it’s still interesting. One of the reasons we used MVP was it allowed us to test our business logic very easily. We used passive views, which means that the view or view controller really did very little except call to its presenter.
- Custom Tab Bar Part 2
Tue Nov 05, 2019
In Part 1 of this series, we talked about how we create a UIBezierPath that’s a curve and then got in sliding from side to side. In this part we’re going to walk through how to use that to make a UITabBarController. In my GitHub you can see that I use the MVP pattern to facilitate testing. However, in this walkthrough I’ll just do most of the work directly in the UITabBarController to make it easier to follow along to.
- Custom Tab Bar Part 1
Wed Oct 30, 2019
I follow a few different UI profiles on Instagram. I find it a nice way to keep creating and get ideas flowing. Sometimes they’re inspiring because it makes me want to build something based on the designs I find, and other times it’s just fun to try and build interesting UIs that I come across. As developers it’s true we can wear different hats, but sometimes with design, it’s difficult not to think about how hard a design might be to build.