The introduction of Swift pushed Objective-C into this weird state of still being the most popular language for iOS development, but one that is becoming less and less relevant with each passing day. Since Obj-C is not yet obsolete, we figured it’s a good time to talk about our technical interview process and what we expect from the candidates.
Before I joined the light side of the force and started working with Apple devices, I was a .NET developer. Most of us have prior experiences with other platforms and languages and there’s always an argument – whether we should take this new platform as it is or try to adapt it and morph it to what we already know. In my opinion it’s more a question of “how much” rather than “if”.
Working with collections seems to be one of the most common tasks for a programmer. As a result, every modern language tries to make this as easy and clean as possible. Fast enumeration and blocks are great examples of how language support can make collection operations cleaner.
We often find ourselves in a situation where we have to wait for multiple asynchronous blocks to finish before we can proceed. One such case is even described in Apple’s Concurrency Programming Guide. It can be easily done using dispatch groups functions. But things may get complicated when the code inside each of your blocks makes other asynchronous calls. And it’s the completion of the latter ones that you want to be notified of.