Last week, I had an interesting conversation with a reader, let’s call him John, about the Model-View-ViewModel pattern. The questions John asked me show that developers new to MVVM often miss or overlook the more profound benefits the pattern brings to the table. In this post, I’d like to share with you the most important insights of our conversation.
In Core Data Beyond the Basics, we work with an application that manages clients and their invoices. I named the application Invoices. What’s in a name? The application is similar to, for example, the mobile application of FreshBooks.
Many developers new to Swift seem to be struggling with JSON. Despite the speed of Foundation’s JSONSerialization class, it hands you an object of type Any, leaving it up to you to unwrap the object you received.
When I first started dabbling with Cocoa development, I almost immediately came into contact with the singleton pattern. Many Cocoa frameworks, including UIKit and Foundation, use the singleton pattern.
A typical Swift application is composed of dozens and dozens of objects, working together to make your application tick. To get the job done, these objects need the ability to talk to each other. In this tutorial, we take a look at three common patterns that enable objects to communicate with one another. We also discuss when to use which pattern and, more importantly, when to avoid a particular pattern.
Pull-to-refresh has become a common user interface paradigm in the mobile space. It made its introduction several years ago in Tweetie, a very popular Twitter client created by Loren Brichter.
Ulysses is one of the most popular writing applications for macOS and iOS. The application started its life in 2003, more than a decade ago. In 2011, Max Seelemann and Marcus Fehn decided to start anew with a clean slate. It took the team eighteen months to create version 1.0, but the result was well worth the investment. In 2016, Ulysses won a prestigious Apple Design Award. A few months ago, I talked with Max Seelemann, one of the founders of The Soulmen, the company behind Ulysses. We talked about the early days of Ulysses, how the application has evolved over the years, and what it’s like to run a software company that focuses on macOS and iOS development.
This tutorial has been updated for Xcode 9 and Swift 4. My favorite quote about dependency injection is a quote by James Shore. It summarizes much of the confusion that surrounds dependency injection.
Every now and then, I take some time out of my day to explore something about the Swift language that I don’t know yet. There’s a lot left to explore. I document my findings in a series I named “What The Swift”. If you’re curious about the more subtle details of the Swift language, then this series is for you.
Does the name Itty Bitty Apps ring a bell? No? What about Reveal? Itty Bitty Apps is the company behind Reveal. Reveal is a powerful view debugger for iOS and tvOS development. It’s Xcode’s built-in view debugger on steroids. It comes with a gorgeous user interface, powerful controls, and support of iOS, tvOS, and application extensions. It’s a must-have for every Apple developer. Earlier this year, I sat down with Sean Woodhouse, CEO of Itty Bitty Apps, to talk about software development, running a software business, and building developer tools for the Mac platform.