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