Swift数组的存取与修改

 1 对数组的存取与修改可以通过数组的方法和属性来进行,或者使用数组的下标语法。
 2 
 3 要知道数组中元素的数量,可以查看它的只读属性count:
 4 println("The shopping list contains \(shoppingList.count) items.")
 5 // 输出“The shopping list contains 2 items.” 
 6 使用Boolean型的isEmpty属性,可以快速检查count属性是否为0:
 7 if shoppingList.isEmpty {
 8     println("The shopping list is empty.")
 9 } else {
10     println("The shopping list is not empty.")
11 } // 输出“The shopping list is not empty.” 
12 往数组的末尾添加一个元素,可以调用数组的append方法:
13 shoppingList.append("Flour")
14 // shoppingList现在包含3个元素了,看起来有人要摊薄饼啊 
15 往数组末尾添加一个元素,也可以使用+=操作符:
16 shoppingList += "Baking Powder"
17 // shoppingList现在包含4个元素了 
18 你也可以使用+=操作符把一个类型相同的数组连接到数组后面:
19 shoppingList += ["Chocolate Spread", "Cheese", "Butter"]
20 // shoppingList现在包含7个元素了 
21 从数组取得一个值可以使用下标语法。在数组名后面紧跟着的一对方括号中,传进去要取得的元素的索引值:
22 var firstItem = shoppingList[0]
23 // firstItem 等于 "Eggs" 
24 要注意数组第一个元素的索引值为0,而不是1。Swift的数组总是从0开始索引的。
25 
26 你可以使用下标语法来改变给定索引的已存在的值:
27 shoppingList[0] = "Six eggs"
28 // 这个清单的第一项现在是“Six eggs”了,而不是"Eggs" 
29 你可以使用下标语法一次性改变指定范围的值,即使将要被替换掉的元素的数量和将要替换成的元素的数量不一样。下面的例子将"Chocolate Spread""Cheese""Butter"替换为"Bananas""Apples"
30 shoppingList[4...6] = ["Bananas", "Apples"] // shoppingList现在包含6个元素 
31 注意: 不能使用下标语法添加新元素到数组末尾。如果试图使用超出数组范围的下标来取用或存放一个元素,会产生运行时错误。在使用一个索引值之前,应该把它跟数组的count属性进行比较,以检测它是否有效。除非count是0(意味着这是个空数组),数组的最大有效索引总是count - 1,因为数组的索引是从0开始的。
32 插入一个元素到特定位置,可以调用数组的insert(atIndex:)方法:
33 shoppingList.insert("Maple Syrup", atIndex: 0)
34 // shoppingList现在包含7个元素
35 // 清单的第一个元素现在是"Maple Syrup" 
36 本次调用insert函数,通过指明的下标0,向购物清单的开头添加了一个值为"Maple Syrup"的新元素。
37 
38 类似地,你可以使用removeAtIndex方法从数组删除一个元素。该方法删掉指定索引上的元素,并返回这个被删掉的元素(如果你不需要返回值,可以忽略它):
39 let mapleSyrup = shoppingList.removeAtIndex(0)
40 // 索引为0的元素已从数组中删掉了
41 // shoppingList现在包含6个元素,不包含"Maple Syrup"
42 // 常量mapleSyrup现在等于被删掉的字符串"Maple Syrup" 
43 当一个元素被删除时,数组中的不会留下任何空白无元素的地方。所以在索引0处的元素又变为"Six eggs"了:
44 firstItem = shoppingList[0]
45 // firstItem现在等于"Six eggs" 
46 如果想删除数组的最后一个元素,可以使用removeLast方法,而不必使用removeAtIndex方法,这样就可以避免还得调用数组的count属性。类似removeAtIndex方法,removeLast方法也返回被删除的元素:
47 let apples = shoppingList.removeLast() // 数组的最后一个元素被删除了 // shoppingList现在包含5个元素,不包含"cheese" // 常量apples现在等于被删掉的字符串"Apples"

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。