I'm now a contributing author for Ray Wenderlich!
It's no secret that Swift is the future of iOS development. However, there is much legacy code still written in Objective-C, including Cocoa Foundation itself. Understanding Objective-C and its interoperability with Swift is essential to being an effective, well-rounded Cocoa developer.
"The goal in writing code should not be to reduce the # of lines but to reduce the time needed to read it."
How is a unit of work is defined, and where and how should we add tests to an existing codebase?
This little project is based on a great tutorial by Matthew Cheok on implementing an Android-inspired, material-style loading indicator, with some minor parameterization and re-factoring.
Lately, I've been gravitating toward using storyboards as a prototyping and wireframing tool, and setting and updating my style attributes in code. Here are a few examples of how to centralize style attributes using the UIAppearance proxy, global namespaced constants and the willSet and didSet property observers.
With the introduction of an app extension, compile times for my current project became unbearably slow due to redundant re-compilation of common dependencies. Re-factoring this code into an embedded framework brought our compile times down significantly. This objc.io issue helped me understand the fundamentals of the build process. An oldie-but-a-goodie and an essential read.
This beautifully-crafted gem leaves you feeling a little speechless by the time you're done. Amazing how much emotion and atmosphere are carried through its masterful use of silence and gorgeous art direction. To say more would spoil it. One of my favorites this year.