Select Page
The Danger of String Literals and Stringly Typed Code

The Danger of String Literals and Stringly Typed Code

Object literals are very useful and they often make your code easier to read and understand. String literals are a bit different, though. It’s true that a string literal is the easiest solution to create a String instance. It’s straightforward and everyone understands what’s going on. But there’s a price you pay every time you use a string literal. Did you know that?

Handling Account Status Changes With CloudKit

Handling Account Status Changes With CloudKit

It’s easy to forget that a user can only benefit from iCloud and its many features if they have an Apple ID and if they’re signed in on their device. While both requirements are usually met, your application needs to be capable of handling scenarios in which the user isn’t signed in.

What Are App IDs and Bundle Identifiers

What Are App IDs and Bundle Identifiers

Every developer new to Cocoa and Swift development needs to become familiar with Apple’s lingo and processes. In today’s tutorial, I’d like to talk about App IDs and bundle identifiers. What is an App ID? What is a bundle ID? And what’s the link between App IDs and bundle IDs?

How to Get Started With CloudKit

How to Get Started With CloudKit

CloudKit is an amazing framework and Apple has proven that it’s a robust, reliable solution for persisting data in the cloud. Several of the company’s flagship applications are powered by CloudKit, including iCloud Drive, Photos, and Notes.

Dequeueing Reusable Views With Generics and Protocols

Dequeueing Reusable Views With Generics and Protocols

In today’s tutorial, I’d like to show you an elegant example of the power and versatility of generics and protocols. I stumbled upon this implementation while browsing the RxDataSources repository a few months ago. I learned the technique I outline in this tutorial from Segii Shulga. Let me show you what it looks like.

You Are Not an Imposter

You Are Not an Imposter

Have you ever heard of imposter syndrome? Like Pauline Rose Clance, I prefer imposter experience as it better describes the problem. A surprising number of people suffer from imposter experience. And developers are no exception. What is imposter experience? And why am I writing about it on Cocoacasts?

Choose Your Teacher Wisely

Choose Your Teacher Wisely

The vast number of tutorials and courses about software development is a blessing for anyone interested in building software. And this is no less true for anyone interested in Swift development. Getting started with Swift development is easy and it doesn’t need to cost a fortune. But, as many of us have discovered, there’s a downside to this wealth of information. In this post, I’d like to highlight three problems that I frequently face and hear about from my students and readers.

Exclamation Marks and Fatal Errors

Exclamation Marks and Fatal Errors

Fatal errors have a negative connotation and with reason. You should use them sparingly if you want to avoid having your application crash and burn at the slightest hiccup. Despite their negative undertone, fatal errors are an integral part of my workflow as I write elsewhere in this book.

What Is a Singleton and How To Create One In Swift

What Is a Singleton and How To Create One In Swift

The singleton pattern is a widely used design pattern in software development. Despite its popularity, it’s often considered an anti-pattern. Why is that? In this tutorial, I explain what the singleton pattern entails and how to create singletons in Swift.