數組: 中括號[ ] 表示,數組值之間用逗號分隔
1、如果數組聲明為常量,則本身不能修改,且數組中的值也不能修改
2、指定數組的類型,語法:Array<Type> 可以簡寫為 [Type]
var typeArray1: [String]
var typeArray1: Array<Int> = [1, 2, 3]
3、如果聲明了數組,但是沒有初始化該數組,是不能被引用的
var typeArray1: [String]
println(typeArray1) 出錯!!
4、當檢測到數組中元素類型相同時,則為 Swift 類型數組
當 數組中元素類型 不相同時,則為 OC 的 NSArray 數組,
如果想變為NSMutableArray 則要顯式的聲明 : var myArray: NSMutableArray = [1, 2, “xyz"]
var typeArray3: Array<Int> = [1, 3, “xyz”] 則是錯誤的,最后一個元素 不是整形
5、var nullArray = [] 創建的是 NSArray 的數組類型,因為Swift 編譯器不能推導數組的類型
6、創建 Swift 的 空數組
var nullArray1 = [Int]()
var nullArray2: Array<Float> = []
var nullArray3: [String] = []
7、創建 初始化長度為 4 的 Int 類型的數組,且這四個元素都初始化為 2
var fourInts = [Int](count: 4, repeatedValue: 2)
8、數組相加即為 合並數組
9、數組區間賦值 : 可以同時對多個數組元素進行賦值
1)區間范圍和 右側賦值元素個數不同,元素多則插入,,,區間大則去除多余區間,,,
2)var arrayName[min..<max] = [item1, item2, item3]
max 和 min 超過了數組的上下邊界,則直接拋出異常
10、append、 insert、remoteAll 沒有返回值
removeLast 、 removeAtIndex 有返回值,返回移除的值
empty 判斷時候為空 count 計算元素個數
11、可以用復合加法賦值 += 來追加 數組的元素
12、枚舉數組中的元素
1) for…in 用變量 或者 下標都行
2) for (index, value) in enumerate(fourInts){}
字典:使用中括號[ ] , key—value 之間用逗號隔開, key: value 的形式
1、如果字典中的 key 和 value 不是 String 類型,就不需要用雙引號括起來
2、var employ1: Dictionary<String, String> = [“name”: “bill”, “price”: “345"]
var employ2: [String: String] ] = [“name”: “bill”, “price”: “345"]
var employ3 = [“name”: “bill”, “price”: “345"]
3、類型不同則為OC 類型NSDictonary , 若要NSMutableDictonary 則顯式聲明
4、如果 let 聲明,不僅意味着不能修噶字典本身,其字典中的值也不能修改
5、var nullDict1 = Dictionary<Int, String>()
var nullDict2 = [Int: String]()
6、dict[key] = value 有原來的 key 則 修改,沒有則添加
7、updateValue方法返回修改前的值
dict[key] = nil 刪除 key—value
removeValueForKey 指定要刪除數據的 key, 並且返回待刪除數據 的 value
8、 var dict1 = ["key1": "20", "key2": "abd"]
// String 轉換為 Int類型,轉換時需要使用可選類型變量
var value1:Int? = dict1["key1"]?.toInt()
var dict2 = ["key1": "20", "key2": 123]
// Int 類型的 NSObject 類型值轉換為 Int 類型, 不需要可選類型而是要 加上 !
var value2:Int = dict2["key2"] as! Int
// String 類型 NSObject 類型 值 轉換為 Int 類型,需要可選類型
var value3:Int? = (dict2["key1"] as? String)?.toInt()
9、for (key, value) in dict{}
for key in dict.keys{} keys、values 屬性
當字典類型變為 NSDictonary,可以先將其轉換為 Dictionary,然后再使用keys 和 values屬性獲取相應的key 和 value
10、將keys 和 values轉換為 數組
var dict = [“key1”: “val1”, “key2”: “val2"]
let keys = Array(dict.keys)