Swift Has a Preprocessor
I didn't know Swift had a preprocessor at all. It means you can do things like this:
#if TARGET_OS_MAC
typealias RAImage = NSImage
typealias RAFont = NSFont
#elseif TARGET_OS_IPHONE
typealias RAImage = UIImage
typealias RAImage = UIFont
#endif
And this:
var image = RAImage()
#if TARGET_OS_IPHONE
UIGraphicsBeginImageContextWithOptions(textRect.size, false, 0.0)
text.drawInRect(textRect, withAttributes: textAttributes)
image = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
#elseif TARGET_OS_MAC
image = RAImage(size: textRect.size)
image.lockFocus()
text.drawInRect(textRect, withAttributes: textAttributes)
image.unlockFocus()
#endif
Pretty cool.