Objective-C: new is dangerous (and old), avoid it at all costs

Using the new factory method might seem appealing: you no longer have to type [[MyClass alloc] init], you no longer need to write custom factory methods to your class, in short less code. And this is not a bad thing, less code to write means less code to maintenance, test, etc. new unfortunately has a […]

When the Coordinator fails for you, hire an Assistant

Update. This approach is no longer valid, an Assistant is basically a Model, as what I wrongly described here was an MVC without the M part. I’ve been lately using the the Coordinator pattern (actually its variation Coordinator+ViewModel), and while the pattern is a very good one in terms of separation of concerns, it does […]

Retrying async functions in Swift via high-order functions

TL;DR; Solution can be also found here. Supposing we’re writing a client-server communication layer, and we want to add support for retrying failed calls for a number of times before giving up and reporting error. A classical example would be updating a user’s profile when pressing a Save button from the UI. A typical function might look like […]

A promise implementation for objective-c: CKPromise

Now that we went through all promise technical details in the past articles: Promises and ObjectiveC: no more callback hell, Promises: basics, and Promises: advanced, it’s time to discuss  about one of the available implementations, and for subjective reasons I chose CKPromise. Other good implementations that I know of are PromiseKit and RXPromise. CKPromise focuses only on […]

Promises: advanced

In the previous article we discussed about the basics of promises: what are and how can be used. Today I will bring into discussion the most powerful feature of promises: chaining. But first I just want to take a short detour and mention that as the standard for promises emerged on the Javascript platform, it allows completion […]

Next Page »