me. For those who don’t I’m Chris. Rails developer by day, everything developer by night. Today I’ll be talking about this new feature called Storyboards.
new feature that was recently introduced for use with iOS 5. Like something you would use to describe how interaction works on paper, you can do the same thing in XCode to describe the flow of an application.
done back in the day. Before storyboards, we had a drastically different way of handling how we changed screens on iOS. This basically included loading the nib from disk and instantiating the view controller.
are a good developer (and we all are, right?) you are still targeting older platforms and this is how you still do it. Why? Well because storyboards are only supported on iOS 5 devices. Sadly
it still looks quite similar to interface builder, except we have these little arrow-y line things going from one controller to another. We’ll talk a bit more about these later. But what are some of the reasons why storyboards are awesome?
allow you pretty much set up your entire applications interaction. It might be using default UI elements or perhaps mock data but it could give you a basic idea of how your applications flow will be.
less time worrying about how to get from one controller to another it allows you to rapidly develop the application. You’ll get builds out quicker which gives your clients quicker results, which in return gives you quicker feedback to turn out newer builds. Repeat.
via a new concept call the Segue. Those are the little line things that go from one controller to the next. We are able to do a few things with them (push, modal, and custom anims), give it a name to make it easier to identify in the code, and so on.
in a team, you’ve probably already experienced merging pains if you and a colleague both accidentally modified the same file. Take that pain, and multiply it by a thousand. Since all of your views are essentially contained within the same massive nib, having two people work on two separate views in the storyboard is almost impossible.
takes that wonderful dream and turns them into a horrible horrible diffing nightmare. Hopefully you get the merge working properly, and if you can’t hopefully you’re using git or something so you can try again and perhaps get it right.