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

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 →

Avoiding Third-Party UI Libraries

There’s been some discussion recently in the iOS community about pros and cons (OK, mostly cons) of using third-party dependencies. Many arguments I saw were rather generic — grouping all third-party libraries into one basket. As with most things, though, it’s not that simple. So, let’s try to focus on a single case today: should we avoid using third-party UI libraries?

Read more →