Just in the past month or so I decided to make the jump and learn iOS programming. My experience is not at all similar to yours in that I have a CS degree and have been a full-time programmer since '94, and have been developing Android apps for over a year, and Blackberry apps before that, and PalmOS before that. Had I known Apple was in the middle of a language switch, I would have put it off a lot longer. It should be obvious that the one to learn is whichever one will win out in the end. There is no since in learning a language that will never take off, nor in learning a language that is being phased out.
So your goal is to predict which one will win. And, statistically speaking, the odds aren't in Swift's favor as almost all new languages fail. Granted, most of those don't have the power of a company like Apple behind it, but VBScript is one example that failed to catch on with an even more powerful company behind it. Microsoft had tried and failed several times to introduce VBScript in different environments. So, just because Apple wants it to succeed, and says it's the "new thing" in their documentation, doesn't mean it's going to. On the contrary, JavaScript is a good example of a language that likely would have failed, but has been immensely successful solely due to Netscape's adoption of it. So, which language is better really won't matter as far as which one wins in the end.
My current take on Swift is that it's too difficult to find working examples on how to call the framework libraries. That's not to say they don't exist, I just haven't been able to find them. Most of what you find on Google today is from the beta versions of Swift, and they're not syntactically compatible with the current version. It's certainly possible to figure it out yourself, but takes quite a bit of time. So the question boils down to: "If Swift wins, will you waste more time trying to figure out Swift today, or will it be more efficient to learn Objective-C today and switch to Swift after it's won?". IMHO, Objective-C is the answer today, and if you combine it with the fact that Swift will likely fail just by playing the odds, then Objective-C is the clear winner. If Swift wins, you'll likely spend a lot less time learning it later than you will spend learning Objective-C today.
Reading the comments above, there's obviously no shortage of people who think they absolutely know which language is the future, but I'll be the first to admit that I don't know. You'll have to hedge your bets they best you can. But if I were a betting man, I'd say Swift will fail as it's got several serious strikes against it:
- Most new languages and platforms fail
- It's a proprietary language with only one use case.
- The one use case it has (iOS) is declining in market share.
- The launch appears to have been botched with few sources of documentation available on how to actually use it for iOS programming.
- The language has already been polluted by the beta versions, leaving newcomers with no way to discern from the old and the new.
- Apps in the App Store are no longer the cash cow they once were, reducing the benefit for people to spend time learning it.
- Since iOS is declining, even if Swift wins the iOS language war, it's possible it won't be relevant.
- For existing programmers, there is no economic benefit to switching to Swift
- Swift brings no new functionality to the table, so there's no reason to switch to it other than Apple wants you to.