<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                相關文章? [Swift快速入門(一)第一個Swift程序](http://blog.csdn.net/itachi85/article/details/50531727)? [Swift快速入門(二)基本數據類型](http://blog.csdn.net/itachi85/article/details/50596987)? [Swift快速入門(三)運算符](http://blog.csdn.net/itachi85/article/details/50638125)? [Swift快速入門(四)流程控制](http://blog.csdn.net/itachi85/article/details/50658955) ### 前言 Swift提供了數組和字典兩種集合類型來存儲數據,Swift的數組用來存儲順序相同類型相同的類型,字典則采用kay-value的形式存儲數據。 **1.數組** 數組用來存儲同一個數據類型的多個數據,通常可通過數組元素的索引來訪問數組元素。 ####聲明數組 聲明數組有兩種語法: 1. 使用泛型語法。格式為:Array 2. 使用簡化語法。格式為:[類型] ~~~ // 使用泛型語法聲明數組 var arr : Array<String> // 使用簡化語法聲明數組 var names : [String] ~~~ ####創建數組 創建數組也有兩種方式:? 1\. 使用Array的構造器創建數組? 2\. 使用簡化語法創建數組 ~~~ // 創建一個空數組,并將該空數組賦值給myArr變量 arr= Array<String>() // 創建一個包含10個"moon"元素的數組,并將該數組賦值給names變量 names = Array<String>(count: 10, repeatedValue: "moon") // 使用簡化語法創建數組,并將數組賦值給values變量 var values = ["2" , "3" , "3" , "4" , "5" , "6"] ~~~ ####遍歷數組 普通的循環遍歷數組: ~~~ for var i = 0; i < values .count ; i++ { print(values[i]) } ~~~ for-in循環遍歷數組: ~~~ for value in values{ //會報錯"canot assign to value:'value' is a 'let'... //value="5" print(value) } ~~~ 需要注意的是,在使用for-in循環遍歷是,不允許對循環常量進行賦值,因為for-in循環隱式的用let來聲明了該常量。 ####修改數組 Array提供了append()方法來添加元素: ~~~ // 使用var定義一個可變數組 var languages = ["Swift"] // 添加元素,輸出為["Swift","Java"] languages.append("Java") ~~~ 還可以用”+“來進行數組的的加法運算: ~~~ //輸出為["Swift","Java","Ruby"] languages=languages+["Ruby"] ~~~ Array提供了insert()方法來添加元素: ~~~ // 插入元素,這時數組第一個元素為"Go" languages.insert("Go" , atIndex:0) ~~~ Array支持在”[]”中使用Range,這樣可以一次性獲取和賦值多個數組元素: ~~~ var languages = ["Swift", "OC", "PHP", "Perl" , "Ruby" , "Go"] // 獲取languages中數組中索引為1~4的元素 let subRange = languages[1..<4] print(subRange) // 輸出[OC, PHP, Perl] // 將languages中數組中索引為2~4的元素替換成"C/C++" , "Python" languages[2...4] = ["C/C++" , "Python"] print(languages) // 輸出[Swift, OC, C/C++, Python, Go] // 清空數組 languages[0..<languages.count] = [] print(languages) // 輸出[] ~~~ Array提供了removeAtIndex()、removeLast()和removeAll()方法來進行刪除: ~~~ var languages = ["Swift", "OC", "PHP", "Perl" , "Ruby" , "Go"] // 刪除索引為2的元素,刪除"PHP" languages.removeAtIndex(2) print(languages) // 輸出[Swift,Perl,OC, Ruby, Go] // 刪除最后一個元素,刪除"Go" languages.removeLast() print(languages) // 輸出[Swift, Perl,OC, Ruby] // 刪除所有元素 languages.removeAll() print(languages) // 輸出[] print(languages.count) // 輸出0 ~~~ **2.字典** 字典用于保存具有映射關系的數據,key和value都可以是任何數據類型的的數據,其中字典的key不允許重復。 ####聲明字典 聲明字典有兩種語法:? 1\. 使用泛型語法,格式為:Dictionary ~~~ // 使用泛型語法聲明字典 var dict : Dictionary<String, String> // 使用簡化語法聲明字典 var scores : [String:Int] ~~~ ####創建字典 同樣的創建字典也有兩種方式: 1. 使用Dictionary的構造器 2. 使用簡化語法 ~~~ // 創建一個Dictionary結構體,使用默認的參數 dict = Dictionary<String, String>() // minimumCapacity至少包含鍵值對的個數,默認值為2 scores = Dictionary<String, Int>(minimumCapacity:5) // 使用簡化語法創建字典 var health = ["身高":"178" , "體重":"75"] ~~~ ####使用字典 訪問字典的value需要在字典變量后緊跟一個方括號”[]”就可以了,方括號里是字典value對應的key值。 ~~~ //將key值賦值給height var height = health["身高"] print(height) // 輸出Optional("178") // 訪問并不存在的key對應的value時,將會返回nil var energy = health["能量"] print(energy) // 輸出nil ~~~ 從上面的代碼可以看出,根據key值訪問字典對應的value時,返回的是包含value值的可選類型,因為字典不確定是否這個鍵值對存在,當鍵值對存在時則返回key對應的value,否則就返回nil。這時我們可以通過強制解析來解決這個問題: ~~~ //height的類型是String?,而不是String var height : String? = health["身高"] if height != nil { // 使用!執行強制解析,輸出為178 print(height!) } ~~~ for-in循環同樣可以用來遍歷字典: ~~~ for heal in health { print(heal) //輸出 ("身高",178) ("體重",75) } ~~~ ####字典的key集和value集 如果程序只需要訪問字典的key集和value集,只需要訪問字典的keys屬性或者values屬性。 ~~~ var healths = ["身高":"178" , "體重":"75"] var keys=Array(healths.keys) var values=Array(healths.values) print(keys) //輸出["身高","體重"] print(values)//輸出["178","75"] ~~~ ####修改字典 字典提供了updataValue()方法來修改字典的value值,該方法會返回一個Sting?類型的值,如果key值存在則修改成功,如果key值不存在則返回nil,但會新增一個key-value值 ~~~ var healths = ["身高":"178" , "體重":"75"] var result=healths.updateValue("68",forKey:"體重") print(result) // 輸出Optional("75") print(health) // 輸出["身高":"178" , "體重":"68"] var result=healths.updateValue("A",forKey:"血型") print(health) // 輸出["血型":"A","身高":"178" , "體重":"68"] ~~~ 字典還提供了如下的方法來刪除元素: 1. removeValueForKey:刪除指定key對應的value 2. removeAll:清空字典 ~~~ var languages = ["Swift":9000, "OC":8600, "PHP":3400, "Perl":4300 , "Ruby":5600 , "Go": 5600] // 刪除key為"PHP"的key-value對 languages.removeValueForKey("PHP") // 刪除key為"Perl"的key-value對 languages.removeValueForKey("Perl") // 下面輸出:[Go: 5600, OC: 8600, Ruby: 5600, Swift: 9000] print(languages) print(languages.count) // 輸出4 ~~~ 還可以將Key對應的Value值賦值為nil來刪除該key-value對: ~~~ // 刪除key為"Go"的key-value對 languages["Go"] = nil print(languages) // 輸出[OC: 8600, Ruby: 5600, Swift: 9000] // 刪除所有元素 languages.removeAll() print(languages) // 輸出[:] print(languages.count) // 輸出0 ~~~
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看