Swift 數組和字典


數組: 中括號[ ] 表示,數組值之間用逗號分隔
          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) 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM