I’d like to take a break from app development for a chapter. Good iOS development requires conceptual and design skills that go beyond just knowing how to write for loops or connect a button to an outlet. Software engineers call these design patterns and design principles. To appreciate these philosophies, I’ll start with the foundation for it all: the object.
“Hey!” you say, “I’ve been using objects; what’s to understand?” You’d be surprised at the number of programmers who can’t describe exactly what an object is. If you haven’t had any questions about the terms used in this book so far (class, object, instance, function, stored property, and so on) and you’re already familiar with design patterns and principles ...