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 →
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 →
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 →
I'm happy to announce the release of my new tool called IBAnalyzer.
Its aim is to allow you to catch common xib and storyboard-related issues without running an app or writing unit tests.
Read more →
Storyboards, both their good and bad parts, are something I already analyzed in the past. To recap, they just don’t feel like the first class citizen in the Swift world. Third party tools can help but only with some of the issues, e.g. SwiftGen allows us to minimize the usage of “stringly typed” APIs.
At the end of the day though storyboards can be completely fixed only by Apple. So, let’s see how Apple could improve the biggest pain point there is – the lack of dependency injection via initializer.
Read more →