SwiftLocation 4.0.0 is here

Maintaining opensource projects, even if smaller is an hard work and require commitment and focus.
Pushing them forward, fixing unavoidable bugs, reviewing issues, answer to questions is somewhat another job.

During the past years I had worked to several libraries; most of them were born from a personal requirement both for side project or at my full-time job. With this gym I learned tons of new stuff about programming, algorithms, best techniques & pattern… behind every line of code there was an entire world made of time and dedication to make my seniority always fresh and updated.
But before everything else it’s just a passion.

View the article

Not so long ago I’ve published an article called “Forget datasource & delegate: a new approach to UITableView“; the title may appear as a bit pretentious but, believe me when I say I’m tired to fill-up datasource and delegates methods placeholders just to make a simple (or complex) table/collection.

I do not want to bore you with yet another article about massive view controllers but the whole thing is easy to become a big jumble when you want to implement some business logic and flexible rendering to represented data.

View the article

The secret world of NSTimer

In this article we’ll take a depth look at Timers and how it works; timer allows us to execute some piece of code after a timer interval one or more times. There are multiple types of clocks used to create timers and, even if apparently all ofthem run at the same rate, they still have different behaviours.

In the second part of this article I’ll present an NSTimer alternative made using GCD library which allows us to simplify our work with timer by removing memory management and thread constraints, also making our timer reusable and configurable.

View the article

Sometimes during the lifecycle of an application you may need to change the rootViewController  of your main UIWindow ; a typical case maybe the transition between the initial on-boarding and the home of the app (ie. a UITabBarController ).

In order to handle this edge case you may want to create a top controller (typically an UINavigationController  with invisible navigation bar) which enable you to push your new container using a standard push animation.While basically it works fine, the addition of a container used only to handle this single operation is a bit awful to see.

A way better solution is to apply an animated transition (push/pop or slide) to the rootViewController  set so you will get an animate switch from the current view controller to the new one.

View the article