Storyboard reference in Xcode, where should we use it?

Yogesh Suthar picture Yogesh Suthar · Jun 11, 2015 · Viewed 25.7k times · Source

There is one new control in Xcode7 beta named as Storyboard Reference. Below is its image.

enter image description here

It has its description as

Provides a placeholder for a view controller in an external storyboard. Segues connected to this placeholder will instantiate the referenced view controller at runtime.

So the questions are

  1. In which situations should we use this?
  2. Is this used to connect two storyboard's view controllers via segue?
  3. Is this approach used to replace VC of another storyboard programatically?
  4. Will it work on older iOS version(before iOS 9)?

Answer

nburk picture nburk · Jun 11, 2015

UPDATE (January 6, 2016): I just want to quickly mention that using Storyboard references is very simple and is going to help you use Storyboards in a much more clean and maintainable way. A good use case for it is e.g. a UITabBarController with multiple tabs. Just create one Storyboard for each tab and in your Main.Storyboard link to those individual Storyboards using Storyboard references. Usage is very straightforward: after creating a Storyboard reference you only need to give it the filename of the individual Storyboard that you want to link to and set the initial view controller within that individual Storyboard. That's it! :)

What follows now is the original answer I gave to @YogeshSuthar's question.

  1. this can be used in cases where you are using multiple storyboards in your app. until now you'd have to instantiate view controllers from other storyboards programmatically, seems like now you can just use this reference and create your segue in the storyboards just like with view controllers from the same storyboard

  2. yes, you connect one view controller from your current storyboard with another view controller from a different storyboard and you can create a segue between these two

  3. yes, this can be used to replace the code that was formerly used to instantiate view controllers from other storyboards programmatically

  4. [UPDATE thx to @AlexBasson] Storyboard references can deployed to iOS 8, OS X 10.10 and watchOS 1.