Swift 數組和字典

數組: 中括號[ ] 表示,數組值之間用逗號分隔
          一、若是數組聲明爲常量,則自己不能修改,且數組中的值也不能修改
          二、指定數組的類型,語法:Array<Type> 能夠簡寫爲 [Type]
                    var typeArray1: [String]  
                    var typeArray1: Array<Int> = [1, 2, 3]  
          三、若是聲明瞭數組,可是沒有初始化該數組,是不能被引用的
                    var typeArray1: [String]       
                    println(typeArray1)  出錯!!
          四、當檢測到數組中元素類型相同時,則爲 Swift 類型數組
                當 數組中元素類型 不相同時,則爲 OC 的 NSArray 數組,
                         若是想變爲NSMutableArray 則要顯式的聲明 : var myArray: NSMutableArray = [1, 2, 「xyz"]
               var typeArray3: Array<Int> = [1, 3, 「xyz」]  則是錯誤的,最後一個元素 不是整形
          五、var nullArray = []  建立的是 NSArray 的數組類型,由於Swift 編譯器不能推導數組的類型
          六、建立 Swift 的 空數組
                    var nullArray1 = [Int]()
                    var nullArray2: Array<Float> = []
                    var nullArray3: [String] = []
          七、建立 初始化長度爲 4 的 Int 類型的數組,且這四個元素都初始化爲 2
                    var fourInts = [Int](count: 4, repeatedValue: 2)
          八、數組相加即爲 合併數組
          九、數組區間賦值 : 能夠同時對多個數組元素進行賦值
                    1)區間範圍和 右側賦值元素個數不一樣,元素多則插入,,,區間大則去除多餘區間,,,
                    2)var arrayName[min..<max] = [item1, item2, item3]
                          max   和 min 超過了數組的上下邊界,則直接拋出異常
          十、append、 insert、remoteAll 沒有返回值
                  removeLast 、 removeAtIndex 有返回值,返回移除的值
                  empty 判斷時候爲空    count 計算元素個數
          十一、能夠用複合加法賦值  +=  來追加 數組的元素
          十二、枚舉數組中的元素
                    1) for…in   用變量 或者 下標都行
                     2) for (index, value) in enumerate(fourInts){}
字典:使用中括號[ ] , key—value 之間用逗號隔開, key: value 的形式
          一、若是字典中的 key 和 value 不是 String 類型,就不須要用雙引號括起來
          二、var employ1: Dictionary<String, String> = [「name」: 「bill」, 「price」: 「345"]
               var employ2: [String: String] ] =  [「name」: 「bill」, 「price」: 「345"]
               var employ3 =  [「name」: 「bill」, 「price」: 「345"]
          三、類型不一樣則爲OC 類型NSDictonary , 若要NSMutableDictonary 則顯式聲明
          四、若是 let 聲明,不只意味着不能修噶字典自己,其字典中的值也不能修改 
          五、var nullDict1 = Dictionary<Int, String>()
                var nullDict2 = [Int: String]()
          六、dict[key] = value  有原來的 key 則 修改,沒有則添加
          七、updateValue方法返回修改前的值
               dict[key] = nil  刪除 key—value
               removeValueForKey 指定要刪除數據的 key, 而且返回待刪除數據 的  value
          八、 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()
     九、for (key, value) in dict{}
        for key in dict.keys{}  keys、values 屬性
        當字典類型變爲 NSDictonary,能夠先將其轉換爲 Dictionary,而後再使用keys 和 values屬性獲取相應的key  和 value
     十、將keys  和 values轉換爲 數組
           var dict = [「key1」: 「val1」, 「key2」: 「val2"]
           let keys = Array(dict.keys) 
相關文章
相關標籤/搜索