The Trouble with Manager ObjectsThe first time I look at a legacy project, I scan for warning signs. Today I'll talk about "Manager" classes.
Flaws of KVOIf you're sure you need an observer, Cocoa lets you choose between Notification Center and KVO. Which should you use? That's easy. Notification Center. Avoid KVO.
Delegates vs ObserversCocoa provides a handful of patterns without much guidance on their use. Today, let's contrast delegates with observers.
The Sin in SingletonSingletons are not an anti-pattern, but they are an abused pattern. Down the line they add complexity and cause maddening bugs.
The S-CurveA system for managing project releases.
The API VeneerWhen you start an app, you might dump behavior in your controller. Once I pass the proof-of-concept, I build an API client.
Never Reach UpThere are little details in app architecture that may not be obvious, but make a big difference over time. We'll start with modal view controllers, then step back for the larger lesson.
When to Avoid LibrariesThird-parties can save you time, but there's no such thing as a free lunch.
How I InterviewA student recently asked for iOS interview tips. I've interviewed hundreds of candidates and settled on this format.
Golden Bear TrapsWhen someone asks for advice about joining their first startup, I always mention "83(b) Election." It can mean the difference between a lottery ticket and throwing away four years of your life.
Shell Apps and Silver BulletsEvery company comes up with the idea of writing a "shell app." Everyone tells the same story.
Understanding the Git WorkflowIf you don't understand the motivation behind Git's design, you're in for a world of hurt.