SWIFT学習ノート04


1、実際のコンパイル時、Swiftコンパイラは文字列の使用を最適化し、実際のレプリケーションが絶対必要な場合にのみ発生するようにします.これは、文字列を値タイプとして、極めて高いパフォーマンスを得ることができることを意味します.
2、for character in "Dog!" {
    println(character)
} // D // o // g // ! 

3、Characterタイプの注釈を明記し、文字の字面量によって値を割り当てることで、独立した文字定数または変数を確立することができる.
let yenSign: Character = "¥"
4、計算文字数
let unusualMenagerie = "Koala , Snail , Penguin , Dromedary "
println("unusualMenagerie has \(countElements(unusualMenagerie)) characters") //  :"unusualMenagerie has 36 characters

5、接頭辞/接尾辞
 :scene.hasSuffix("Capulet's mansion")
 :scene.hasSuffix("Friar Lawrence's cell")

6、配列操作
 :shoppingList.insert("Maple Syrup", atIndex: 1)
 :let mapleSyrup = shoppingList.removeAtIndex(1)
 :let apples = shoppingList.removeLast()

7、グローバル関数enumerateを利用して遍歴し、下付き文字を得ることができる
for (index, value) in enumerate(shoppingList) {
    println("Item \(index + 1): \(value)")
}

8、指定したサイズ配列を初期化する方法:
var threeDoubles = Double[](count: 3, repeatedValue:0.0) // threeDoubles   Double[] ,   [0.0, 0.0, 0.0]
var anotherThreeDoubles = Array(count: 3, repeatedValue: 2.5) // anotherThreeDoubles is inferred as Double[], and equals [2.5, 2.5, 2.5]

9、辞書updateはStringを返しますか?
if let oldValue = airports.updateValue("Dublin Internation", forKey: "DUB")
{
println("The old value for DUB was \(oldValue).====dic\(airports)")
}

10、辞書要素の除去、removeValueForKey
airports["APL"] = nil // APL 

11、辞書のキーを配列に変え、Arrayなしではいけない
let airportCodes = Array(airports.keys)

12、バックグラウンドでは、Swiftの配列と辞書はすべて汎用集合で実現されています.詳細については、汎用と集合の情報を参照してください.
13、可変辞書の内容は初回設定後は変更できません.可変行は配列にとって少し異なります.もちろん、可変配列のサイズを変更してみることはできませんが、既存のインデックスに対応する値を再設定することができます.配列サイズを変える必要がないときに可変配列を作成するのは良い習慣です.このようにSwiftコンパイラは、作成したコレクションを最適化することができます.
2014年07月02日