swift学习之数组
首先数组的定义:以有序的方式存储相同类型的值 (1)数组的简写(shorthand)语法 你可以通过Array<Element>,在这里,Element时数组存储元素的值的类型,也可以通过中括号来写[Element] (2)创建一个空数组 var emptyArr = [Int]()(这里使用初始化方法创建一个Int型的空数组) (3)创建一个带有默认值的数组 swift提供了一种初始化一个数组,并且这个数组带有相同的默认值 var defaultArr = [Double](count: 3,repeatedValue: 0.0)(值类型是double型的) //the println is [0.0,0.0,0.0] (4)通过add两个数组创建一个新的数组 通过(+)号操作将两个已经存在的相同类型的数组创建一个新的数组 var anotherArr = [Double](count: 3,repeatedValue: 2.5) (5)用字面量创建一个数组 中括号里面放一系列的值,以逗号分隔 var shopping:[String] = ["Eggs","Milk"] 这个声明了一个只存储字符型的数组,由swift的类型推断,我们可以不用写明类型用字面量语法初始化数组存放相同类型的值时,因此,上面的例子可以更加简单点写 var shopping: = ["Eggs","Milk"] (6)访问和改变数组 我们学会了创建一个数组,那么接下来就要想怎么访问一个数组,又怎么改变一个数组呢? 访问和改变数组,我们可以通过方法和属性,或者下标语法 我们可以通过数组的只读属性(.count)知道数组的元素个数 println("The shopping list contains (shoppingList.count) items") (The shopping list contains 2 items) if shoppingList.isEmpty{ 我们可以通过array's append(_:)方法在数组的最后面添加元素 shoppingList.append("Flour") shoppingList += ["Baking Powder"] 可以通过下标语法检索一个数组的值,在数组名后面加上中括号,在里面写上你想要的值所在的下标就可以取出对应的下标值了,和oc一样,第一个元素也是从0开始算起 var firstItem = shoppingList[0] 你也可以通过下标语法改变对应索引处的值 shoppingList[0] = "Six Eggs" 在swift中可以通过下标语法改变一定范围的值,即使替代的值的长度和你替代的范围长度不同,如 shoppingList[4...6] = ["Bananas","Apples"] 现在打印的结果是[Six Eggs,Bananas,Apples]也就是数组有6个元素 shoppingList[4...6] = ["Bananas","Apples","Bananas","Apples"] 但是请注意你不能通过下标语法给数组添加元素 往数组中插入元素我们可以通过调用insert(_:atIndex:)方法 shoppingList.insert("Maple Syrup",atIndex: 0) 同样的道理,可以通过调用removeAtIndex(_:)方法移除元素。并且可以接收被移除的元素(假如你不需要,就不用接收,直接忽略就好了) var removedItem = shoppingList.removeAtIndex(0) 调用removeRange移除一定范围内的数组 var removedRangeItem: () = shoppingList.removeRange(6...7) 调用removeLast()语法移除数组最后一个元素,而不是通过调用removeAtIndex(_:)方法,以免遍历数组一遍要 shoppingList.removeLast() 数组的遍历 我们可以通过for-in循环遍历 println(shoppingList) 如果你需要每个元素的下标和对应的值,你需要用enumerate()方法来遍历数组,这样返回一个元组,包括元素的下标和对应的值 for (index,value) in enumerate(shoppingList){ Item0:Six Eggs for (index,value) in shoppingList.enumerate(){ 这个方法
借鉴:https://developer.apple.com/library/prerelease/ios/documentation/Swift/Conceptual/Swift_Programming_Language/CollectionTypes.html#//apple_ref/doc/uid/TP40014097-CH8-ID105 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- 试图搞懂MDK程序下载到flash(三)--MDK配置选项Linker、Targ
- swift – 从字符串中过滤非数字
- xml和JSON格式相互转换的Java实现
- Cocos Creator采坑:原来使用Cocos Creator做游戏,是有服务
- ruby-on-rails – 运行时错误(无法执行)无法使用wkhtmltopd
- React Native 热更新部署
- postgresql – 重新启动数据库服务器后,Flask-sqlalchemy失
- ruby – 在lambda中存储方法并发送给对象
- CYQ.Data 轻量数据层之路 V4.3 版本发布[增加对SQLite,MySQ
- 重载<<运算符C - 指向类的指针