you don't need a reason... but i've not seen much good about the language, just a bunch of apple hype and hand forcing. just like obj-c which the mainstream community realised the flaws of 30 years ago when it was new... and now we have to live with as a necessary evil for the same class of 'reasons'. XD
In terms of modernity, I think Swift is between C# and F#. However, Swift is far more mainstream than F#.
this is not a bad thing, and certainly is a good thing, but on its own its a tiny benefit compared to writing code that works on all platforms, and which compiles to very efficient use of instructions (i have ample experience removing swift and obj-c code as an optimisation strategy sadly).
This is probably more of a, "I'd rather use Visual Studio with my Swift project" instead of "I'd rather use Swift with my Visual Studio project." It's a very nice IDE, and Xcode is not quite as nice.
its obviously the way forward though... i'd still not use swift for it predominantly if i can use a tiny layer of obj-c/swift to interface to sensible code written in C++ that works for every other platform too.
(By the way, I have done iOS dev in the past, and Objective-C has grown a lot under Apple's recent guidance from where it was 20 years ago. Again, if there were a free-software runtime supporting modern Objective-C -- last I checked, GNUstep was a bit out-of-date -- I might have considered it as an option for development on non-Apple platforms.)
You can not make an iOS app with VS's Objective-c , and most likely it will be the same way when they add Swift support to VS.
In my opinion the only thing missing is better reflection (will get better), concurrency a la Go (they're considering), and async/await. There are a couple unfinished bits but the compiler tells you "X feature not implemented YET"
What's wrong with it?
this is damning of the quality of the compiler imo. now that its open source i might make some effort to help this... but it seems unlikely given the utter lack of motivation to use the language to begin with (a tiny thing layer of obj-c is all i need for now - i see no reason to change this - even in light of swift)
to me it seems like apple are solving a problem that doesn't exist because they choose to ignore established and well developed languages and tool chains.