David Cordero

iOS and tvOS developer at @Zattoo. Amateur Triathlete. Passionate about coding and lifelong learning.


  • Mind the cup

    It was a few weeks ago that I went to Google.

  • Bumping the performance of TVML with Prototypes and Data Binding… or not

    The low performance of TVMLKit has been one of its biggest bottle necks since tvOS was launched. Not only when performing heavy computing task, which could be after all derived to Swift, but also when dealing with a lot of UI elements.

  • TvOSScribble, building Scribble for tvOS

    As I mentioned in “Being a tvOS Developer”, the lack of buttons on its remote control is one of the biggest challenges when working with Apple Tv.

  • Being a tvOS Developer

    It is already more than one year ago that I came to Zürich and joined Zattoo.

  • Directional clicks on tvOS

    If you have tried to detect directional clicks on tvOS you might have notice that it is not that easy.

  • TVML and UIKit as happy roommates

    There is a classical beginning for every tvOS tutorial and it is a question: Are you creating a TVKit application or a native UIKit application?

  • NSTimer stands for NoSwiftyTimer

    NSTimer is one of the simplest mechanism provided by Apple to create timers.

  • Working with TapGestures in Swift

    A lot of great improvements have been released as part of the last major update of Swift. Swift is growing and growing and, in my opinion, the direction that it is taking is really promising.

  • UX / Dev

    One of the most important things to keep in mind when building mobile Apps, is thinking about the user. It is not that easy trying to understand the problems or needs of our users, and the reason that led them to use our App to solve those problems or needs.

  • Danshari Oriented Development

    Despite of that title I am not going to speak here about any new paradigm, or about any new programming pattern, but about an attitude, and about how we applied that attitude to improve our iOS App in Zattoo.

  • Data Sources in Swift… or how to avoid that this new trendy persistence framework determines the architecture of your App

    There are really good frameworks to deal with the persistency of our data in the world of iOS.

  • A different way to deal with Localized strings in Swift

    Dealing with localized strings has never been an easy task in iOS development. Apple has never provided a good way to deal with this issue in a clean and organized way, and our strings at the end tends to be scattered all around the project.

  • My first month with Swift

    Yes you don’t have to say that, you are fully right, I am indeed late to the party and I know it. But as the saying goes… better late than never, isn’t it?

  • Swift: Avoid auto return in closures

    Due to this feature of closures in Swift:

  • Swift: Raiders of the Lost Nib

    If you are used to work with Objective-C you are most probably familiar with this documentation from UIViewController.nibName property:

  • Strings validation with Rubustrings

    Rubustrings, a format validator for Localizable.string files.

  • SwiftyVersion

    SwiftyVersion A simpler way to manage Versions in Swift

  • A tour of Mantle

    Mantle is most probably the best library nowadays for parsing JSON responses with Objective-C, but I am not going to say so much here about what is Mantle since that is not the proposal of this post.

  • TimeBlock

    TimeBlock is a simple set of macros to measure the time spent for executing a block in Objective-C, you can find it published on my GitHub