Swift: Beta 4 very pretty

Many exciting updates in Beta 4. A few thoughts.

Jumpbar support for //MARK:. Finally, Swift has a #pragma mark equivalent

Minimum deployment enforcement. If you’ve been having fun deploying to iOS 6, the party is over.

Strides. Ranges now use stride() instead of by(). I’m still waiting for Xcode to finish downloading so I can test this, but the idea is that you use stride(from, to/through, by) instead. I need to check whether it finally does negative ranges correctly or not.

Access control. This is a biggie and has been long promised by the engineers. You can declare items as public, private, and internal to hide implementation details from client types.

Updated modifiers. Swift is losing several @-keywords, replacing them with unadorned keywords. So instead of @lazy, you have lazy, and instead of @optional you have optional.

CGFloat works right. It should wrap to the proper architectural implementation.

RIP CString. It’s now all ConstUnSafePointer<Int8> all the time. I still can’t get most of my straight C stuff ported but it looks like things are getting closer.

Safer OS X Playboxes. They’re now in sandboxes. Big hat tip to Steven Troughton-Smith on this one.

Shared Playground Data. This looks neat. You access ~/Documents/Shared\ Playground\ Data.