Published on 31 May 2016
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.
In addition Localizable.strings files, without any syntax validation at all, are a very error prone way to deal with strings, making very easy to have problems in runtime or even in Production.
Published on 31 Jan 2016
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?
On the other hand, since I have worked in iOS (using Objective C) for the last years, I have to say that I am not a one hundred percent rookie in this world of iOS, but I’ve never done any Swift coding apart from really minor things… So, now that I am for a while apart from the iOS development in my current position. I have decided to take advantage of this period to improve my knowledge about Swift.
Published on 06 Dec 2014
In Swift, you have several options for writing closures more concisely.
When a closure’s type is already known, such as the callback for a delegate, you can omit the type of its parameters, its return type, or both. Single statement closures implicitly return the value of their only statement.
Published on 03 Dec 2014
If you are used to work with Objective-C you are most probably familiar with the following documentation from UIViewController.nibName property:
Published on 29 Sep 2014
Rubustrings is a format validator for Localizable.string files.
Published on 29 Jun 2014
SwiftyVersion provides a simpler way to manage Versions in Swift.
Published on 28 Jun 2014
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.
Published on 28 Jun 2014
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.
There is already a quite good explanation about what Mantle is and what problems it solves on the oficial github page of the project. So I am not going to repeat the same things here.
The problems I had with Mantle were mainly related with the lack of example code in this project. Mainly about how to do specific things, so that is what I am going to explain here using some examples.