‘Obviously super complex’: evaluating software architecture as simple vs. easy I have a problem with the characterization of VIPER, right out of the gate, as across-the-board “obviously super complex”, for a few reasons.
String is not a sufficient type: how using your type system can help you make better software We deal with types, explicitly or implicitly—depending on our language of choice—every day. We often use them without even thinking about them, or we consider them an annoyance when we’re just trying to get something done. This brief talk presents an accessible metaphor to help explain that type sy…
Working with custom UIView designated initializers I have a UIView subclass, with a custom designated initializer. How should I handle the requirement to override initWithCoder:?
Cocoa’s mutable-subclass pattern is an antipattern We know we can’t mutate a mutable array while enumerating, and yes, we have to take care to avoid that. But wait a second—why is that *our* problem, as users of Apple’s Foundation framework?
Be Proactive: Use Reactive A high-level, easy-to-grasp intro to the core concepts behind reactive programming.
Casting in Swift 1.2: a brief summary Swift 1.2, in beta with Xcode 6.3, makes some changes to casting. Here’s how as, as?, and as! work: * as is for guaranteed conversions. That is, use as when the compiler can type-check that the conversion is valid; and Swift won’t compile a as cast it …
IBOutlet declarations in Swift Xcode’s default IBOutlet declarations are weak references to implicitly unwrapped optionals. This is wrong.
Subjective-C: I use property (dot) syntax liberally I have long argued that methods which look, walk, and talk like getter methods should be called with dot syntax.
A list of Auto Layout DSLs, Categories, Etc. Everyone has their own Auto Layout helpers. Here’s a list.
Why non-engineers should care about “Technical Debt” Technical debt is an abstract concept, but it will impact your customers in tangible ways.
Why Reactive programming techniques are valuable Reactive programming gives us better tooling to deal with mutable state.
Real World Singleton Design A discussion of practical architectural concerns when designing a singleton for a real-world iOS application.
Let’s talk about Optionals There has been much complaining that Swift's Optional type forces you to think about whether something may be nil at every use, but aren’t we thinking about that already, just maybe implicitly? Swift’s optionals simply formally enforce the thinking we already must consider when writing (or …