標籤:
數組: 中括弧[ ] 表示,數組值之間用逗號分隔 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)
Swift 數組和字典