I really like how Apple have implemented parameter names in Swift. In Objective-C you’re very much tied in to type out every parameter as they’re part of the method identifier. Methods are very verbose, and I have actually come to like that (from a C# background, it took some time to get used to at first). In Swift, parameters have their internal name - i.e., what you call the parameter within the method itself.
Optionals are a concept that isn’t in Objective-C, which makes them instantly cool already (and that’s disregarding the usefulness of these, as I’ll go into shortly). What are optionals? An optional is a variable with a question-mark (?) on the end of it. It means that the variable has a value, and it’s X, or that there isn’t a value at all. If you’re from a C# background, you’ll know of the Nullable concept - I believe it’s pretty similar to that.
It was a pretty big surprise all round when Swift was announced at WWDC on Monday. Very exciting news. It can work alongside Objective-C! It also has a bunch of cool features that I’ve missed since transitioning over to Objective-C. Generics are probably the biggest thing for me - after using C# for so long I wasn’t sure I would be able to handle not having them (I obviously did learn to not have them).