【Swift初見】Swift數組,初見swift數組

來源:互聯網
上載者:User

【Swift初見】Swift數組,初見swift數組
在Objective-C中數組是常用的資料類型,在Swift中同樣如此,在OC中有NSArray與NSMutableArray之分,但是在Swift中只有通過let和var來區分數組是否可變,Swift中的數組是型別安全的,所以在某個資料被存入到某個數組之前類型必須明確,假如我們建立了一個String類型的數組,那麼該數組中就不能添加非String的資料類型,這是Swift與OC的一個很重要的區別。

數組的構造
我們以建立一個數組並儲存Int類型的數組為例:

var array = [2, 3, 4, 5]var array1: Array = [2, 3, 4, 5]var array2: Array<Int> = [2, 3, 4, 5]var array3: [Int] = [2, 3, 4, 5]

數組的數量:數組有一個唯讀屬性 count來擷取數組中的資料項目數量。
array.count

檢查數組是否為空白可以用isEmpty來檢查count是否為0
if array.isEmpty {    println("array is Empty")}else{    println("array is not Empty")}

當要在數組後面添加新的資料項目時可以使用append方法來添加:
array .append(6)

此時數組中就有5個值了,
當數組的資料類型為字串時,也可以使用加法賦值運算子(+=)直接在數組的後面添加新的資料項目;
加法運算子也可以直接添加擁有相同類型的數組:
array += [7,8]

擷取數組中資料項目的時候,可以用索引來擷取值:
var intV = array[0]

註:不管是OC還是Swift,數組的索引都是從0開始。

修改數組中的某一項時,也可以通過索引來改變:
array[0] = 9

此時數組就為:[9, 3, 4, 5, 6, 7, 8]
swift中也可以通過下標一次性改變多個資料值:
array[1...3] = [10,11,12]

此時數組值就是:[9, 10, 11, 12, 6, 7, 8]
在數組尾部添加新項時,不能使用下標來添加新項,此時數組越界,會引發一個運行期錯誤。

在某個具體索引值之前添加資料項目,調用數組的insert(atIndex)來添加:
array.insert(13, atIndex: 0)

此時的數組值為:[13, 9, 10, 11, 12, 6, 7, 8]

同樣的,移除數組的某一項時用removeAtIndex 方法;
移除最後一項的時候用removeLast

數組遍曆
普遍的我們使用for-in迴圈來遍曆數組中的所有資料項目
for i in array {    println(i)}


swift提供一個enumerate函數來遍曆數組,會同時返回資料項目和索引值:
for (index, value) in enumerate(array){    println("index : \(index) value: \(value)")}


此時列印的值為:
index : 0 value: 13
index : 1 value: 9
index : 2 value: 10
index : 3 value: 11
index : 4 value: 12
index : 5 value: 6
index : 6 value: 7
index : 7 value: 8

如果我們需要建立一個數組,該數組有特定的大小並且所有的資料都是被預設的,此時swift提供了一個數組建構函式:
var newArray = [String](count: 4, repeatedValue: "test")

當然,swift具有類型推斷功能,我們也可以如下定義:
var newArray2 = Array(count: 3, repeatedValue: "today")

我們知道,兩種資料項目類型相同的數組我們可以通過(+)來組合到一起形成一個新的數組:
var newArray3 = newArray + newArray2


歡迎大家共同學習指導。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.