To my understanding, -transitionFromViewController:toViewController:duration:
must be called on a given view controller to transition between two child view controllers.
So, in your case, you should move that method call in the parent view controller class.
You should also ensure that both the view controllers you pass as arguments are already added as children view controllers of the parent one, or you'll keep getting the same error.