Holko.pl

Hi! I'm Arek Holko. I build iOS apps for others and as an indie developer. I write mostly about iOS development. More about me.

Recent Articles

Future-Proof Dependency Injection for Storyboard-Based View Controllers

One of the issues introduced by storyboards is that they make it impossible to pass dependencies to view controllers in initializers. I proposed an API modification in past that would allow for exactly that, but alas, it doesn’t seem to be high on the priority list for UIKit. I recently came up with a new approach leveraging code generation which I’m excited to show you today.

Read more →

Stop Xcode from constantly rebuilding your project because of @IBDesignable

If you use Interface Builder along with @IBDesignable attribute you may have noticed that Xcode sometimes builds your project even though you didn’t trigger a build. This is because it needs to compile views marked with @IBDesignable to be able to render them in Interface Builder. What's problematic is that these builds seem to occur a bit too often.

Read more →

Optimizing Swift build times

I spent some time recently trying to optimize build times of a project I contribute to. To my surprise, the knowledge needed to do that was scattered around many blog posts and tweets. So, I decided to do something about that by putting everything I knew and learned in a single document. It's available on GitHub here.

Hope you learn something new!


Surprising behavior of non-optional @NSManaged properties

Core Data is not a first-class citizen in the Swift world. Its inherently dynamic nature is lurking at us through an attribute created specifically for it: @NSManaged. Let me show you how this dynamic nature caught me off guard. I ended up with a property having a value I’d never assigned to it!

Read more →

Catching Leaky View Controllers Without Instruments

One of the well-known techniques for finding memory leaks caused by retain cycles is checking if all view controllers get deallocated when they’re not on screen anymore. This is a process that should be manually repeated before each release but it’s both unpleasant and error-prone. Wouldn’t it be cool if we could learn about UIViewController leaks earlier in the process, during the day-to-day development?

Read more →