標籤:swift 筆記 數組 字典
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日