1. 程式人生 > >Swift 了解(2)

Swift 了解(2)

之間 style 數值 習慣 sla index 不包含 spa 小於號

循環(Loops)

For條件遞增語句

1  for ( var counter = 0; counter < 8; counter++ ) 
2  {
3           liftWeights( )
4   }

語法是這樣的:用for作為循環的開始,告訴Xcode你要聲明一個循環了,for後面跟著括號,括號裏面聲明變量、條件和遞增數值。例如:

1 for ( VARIABLE; CONDITION; INCREMENT ) 
2  {
3 
4  }

括號中的第一個部分是變量,用counter表示,計算已經完成的循環的數量,在平時編寫程序時,這裏的變量常常命名為counter(英文中counter有計數器的含義)然後設定初始值為零:

1 for ( var counter = 0; CONDITION; INCREMENT ) 
2  {
3 
4 }



條件後面的一個分號後面是遞增值,遞增值就是每次循環後變量counter的變化:

1 for ( var counter = 0; counter < 8; counter++ ) 
2  {
3 
4 }

然而蘋果公司提供了簡寫方式,用兩個加號++表示這個變量加1,例如:

counter++

作用和這個相同:

counter = counter +1

區間(Ranges)

區間Range和整型數組中一個數字到另一個數字差不多,目前有兩種區間,一種是閉區間,用三個小點表示,包含小點兩邊的數字:

1...5   //1,2,3,4,5

另外一種是半閉半開區間,用兩個小點加上一個小於號表示,小於號右邊的數字不包含在這個區間中:

1..<5     //1,2,3,4

在for-in循環中,可以使用區間來代替數組或者詞典:

 1 for index in 1...5 
 2 {
 3     println ("The current number is \(index)")
 4 }
 5 
 6  //打印結果為:
 7  //The current number is 1 
 8  //The current number is 2 
 9  //The current number is 3 
10 //The current number is 4 11 //The current number is 5

條件表達式

1 if isBirthdayToday == true 
2 {
3     singBirthdaySong ( )
4 }

  在上面的這個例子中,條件是isBirthdayToday == true,兩個等號表示比較2個等號之間的數值,如果值相同,則結果為真,如果值不相同,則結果為假。

可選類型(Optionals)

可選值是用來處理那些可能出現空值的變量。在某些情況下,你是無法確保一個變量是不是一定有值。例如,在西班牙語中的一個單詞,可能無法直接翻譯成英語的一個單詞,這樣就會出現空值。這種沒有值的情況叫做nil。
可選值可以用在任何類型的變量中,在使用時將一個問號跟在類型後面,表示這是可選值:

1 var translatedWord: String?

因為可能為空的變量都必須名稱表示,這樣能確保所有的非可選值變量都會有值。這種設計模式幫助開發者避免了空值引起的程序崩潰。非可選值變量都必須有值,可選值變量可以沒有值。
可選值不能直接使用,在使用之前需要解包(unwrapped)。把使用可選值變量想象成拆開一袋糖果,必須先要把包裝撕掉才能吃到糖果。當一個可選值變量解包後,這個變量也可能是空值。這就相當於你拆開一顆糖果,結果發現裏面什麽也沒有。
解包的過程幫助開發者記住去檢查然後確保這個變量不是空值,用可選值有2個步驟,第一步,檢查是不是為空,一般情況下用if表達式檢查:

技術分享
1 var translatedWord: String? = translate("cat")
2 if translatedWord != nil {
3        //translatedWord has a value
4  } else {
5      //The translatedWord has no value
6  }
View Code


一旦核查確實有值後,你必須解包。解包一個可選值非常簡單,直接放一個嘆號在變量後面即可,例如:
技術分享
1 var translatedWord: String? = translate("cat")
2 if translatedWord != nil {
3     println(translatedWord!)    //gato
4 }
View Code



剛剛開始接觸可選值的時候會有一些困惑和不習慣,其實你只要記住,一個可能為空的變量必須是可選值,而當可選值為空時就叫做nil。

Swift 了解(2)