I am jumping, more or less in one fell swoop, from a lifetime of batch-oriented, procedural, command-line coding into OO, event-driven, GUI coding.
I first approached iOS, and was irritated and overwhelmed by several features of Obj-C that I found archaic: header files, memory management, and relative unreadability (to me, Obj-C looks like a spooge of camel-cased sentences with very little punctuation to help the eye).
Since those PITAs were interfering with my learning the important things, I decided to take a more gradual approach: getting fluent with Java and then taking on Design Patterns and GUI programming. I feel certain that there will be high-level concepts that carry over nicely when I return to iOS and Obj-C (and maybe, by then, Obj-C in iOS will have automatic memory management :-/ ).
Bottom line: don't worry too much about wasting time: learning more than one of anything gives you a huge boost in your ability to spot conceptual similarities and differences, which IMO boosts your ability to learn new things in the future. About the one guarantee you have is, that will always be necessary.