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日




原文地址:https://www.cnblogs.com/zhchoutai/p/7323415.html