Swift 瞭解(2)

來源:互聯網
上載者:User

標籤:詞典   var   log   沒有   西班牙語   ted   類型   習慣   不能   

迴圈(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 value4  } else {5      //The translatedWord has no value6  }
View Code


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

 



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

 

Swift 瞭解(2)

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.