OK, I’ve been doing a lot more with Swift since my last post on the subject.
Integration with existing Obj-C code is damn near miraculous, I’m not sure how they did it this well, it generally behaves like native Swift code, the method calls are mapped very cleverly to the Swift-y way of doing it.
The syntax is clean, cleaner than Obj-C, it’s still a bit funny, the use of ! and ? can be a bit obtuse, ? make sense, but ! I’ve not quite got used to.
It’s like a scripting language, in a good way, but with the richness of Cocoa, it’s a good combo.
The whole build process is a lot nicer, linking with Frameworks just seems to happen.
Xcode 6 is still a little flaky, especially the syntax highlighting, but I’m sure this will get better.
On a slightly different, but related note, I’ve been using the Xcode ‘Assistant’ to make Outlets and Actions recently, once you get past it’s overbearing nature, it’s actually, really, really good, suits Swift much better too, as you don’t have a header file with that.
In my programming escapades, I’ve taken another look at the new constraint system in Cocoa, bloody hell, what a confusing mess, the old system, sure it might have been a little inflexible, but at least you could do what you need to do it in a few seconds, the constraints system is insane, doing it in code is ridiculous, wordy, and just impossible to get right without 100 tries at it first, with complex layouts, I don’t think I’d ever get it right.