Something about Swift 2
I have to say, playground is really such a graceful way to verify my doubt during learning Swift, all right back to record.
Name parameter function
Sometimes, ok, almost all the time, you found a function from api, and it contains 5 or 7 parameters, like this:

Well when you’re using Xcode to invoke such a function, it’s ok, cuz Xcode does a lot of helpful hints with highlight text. But after you use fill all the parameters, it comes to :

It becomes a bit hard to recognize what those numbers and strings are. Sometimes you made a mistake between width & height (happened on me). And will become a disaster when someday you review them.
So Swift given a way to make it better, name parameter function, or we should say it has been used in OC so long.
func createATextField(#font:String,#size:Int,#width:Int,#height:Int,#text:String,#color:UIColor,#align:NSTextAlignment){ } let textAlign = NSTextAlignment(rawValue: 1) createATextField(font: "Hei", size: 20, width: 100, height: 30, text: "Yes!", color: UIColor(red: 0.1, green: 0.1, blue: 0.1, alpha: 1.0), align: textAlign!)
I just given a extreme example, if there is no unmodifiable reason, never declare such a complicated function.
Tuples
It is just a handy way to declare a temporary struct to contain more than one return values.
func searchName(#name:String)->(found:Bool,desc:String){ return (true,"Yeah~") } let result = searchName(name: "Tiger") result.found result.desc
It supports name parameters too. also you can take any one from tuples,
let (isSucces,_) = searchName(name: "Hector") isSucces
Optional
In my opinion, optional is just a way to avoid some unexpected errors, in action script or javascript I can write something like this:
function dodo(){ if(isA) { return "Good"; } return null; }
and when I use it, if some code use this result to do other things, and doesn’t do anything to check what if it’s null, it might case a crash.
Swift force us to not return nil simply, if you do it like this, you wouldn’t pass compiling.

And here comes the way called ‘Optional’, here is the code
func justRetunNil(#name:String)->String?{ if name == "Tiger" { return "Yes, my lord!" } return nil } let mayBeNil = justRetunNil(name:"Tiger") mayBeNil!
The thing we need to pay attention is, when we declare a function is optional with a question mark, the result could be nil, or a package with the result, you can’t use it directly, you need to unplug,or unpackage it with a excalmatory mark ! Swift provide a safe way to do this.
if let mayBeNil = justRetunNil(name:"Tiger"){ print(mayBeNil) }
Weird ,hmm. Don’t think it is clean & clear.
Type convert
Can’t stand on this, about integer, it has Int, Int16, Int32, Int64 #-_-, here is the code when I need a random index of array.
func getRandomColor() -> UIColor{ var uintCount = UInt32(colorArray.count) var uintRandom = Int(arc4random_uniform(uintCount)) return colorArray[uintRandom] }
Missing the moments with Action Script
Shit it can be run on iOS 7!!