swift-Array(数组)
Swift 数组用于存储相同类型的值的顺序列表。Swift 要严格检查,不允许不同类型的值在同一个数组中
声明一个数组
var someArray = [SomeType]()
var someArray = [SomeType](count: NumbeOfElements, repeatedValue: InitialValue)
var someInts = [Int](count: , repeatedValue: )//声明一个三个容量的数组,初始值为0
var someInts:[Int] = [, , ]//声明一个int类型的初始值为中括号内的数组
可以使用下标语法从数组中检索对应值,传递数组名后方括号内的索引对应的值,如下:
var someVar = someArray[index]
在这里,指数从0开始,这意味着可以使用索引0来访问第一个元素,第二元素可以通过使用索引1进行访问,其它类似。让我们来看看下面创建,初始化和访问数组的例子:
import Cocoa var someInts = [Int](count: , repeatedValue: )//创建一个3个空间的可变数组,初始值都是10,数组类型为int类型 var someVar = someInts[] println( "Value of first element is \(someVar)" )
println( "Value of second element is \(someInts[1])" )
println( "Value of third element is \(someInts[2])" )
当上述代码被编译和执行时,它产生了以下结果:
Value of first element is
Value of second element is
Value of third element is
修改数组
可以使用 append() 方法或加法赋值运算符(+=)将新的项目添加到数组的末尾,在这里首先创建一个空的数组,然后添加新的元素到数组中,如下图所示:
import Cocoa var someInts = [Int]()//初始化一int类型的空数组
someInts.append()//添加20
someInts.append()//添加30
someInts += []//添加40 var someVar = someInts[] println( "Value of first element is \(someVar)" )
println( "Value of second element is \(someInts[1])" )
println( "Value of third element is \(someInts[2])" )
Value of first element is
Value of second element is
Value of third element is
直接给已经存在的数组元素赋值就可以修改数组元素中的值
import Cocoa var someInts = [Int]() someInts.append()
someInts.append()
someInts += [] // Modify last element
someInts[] = var someVar = someInts[] println( "Value of first element is \(someVar)" )
println( "Value of second element is \(someInts[1])" )
println( "Value of third element is \(someInts[2])" )
Value of first element is
Value of second element is
Value of third element is
可以使用 for-in 循环迭代级数,在下面的例子是数组的整个集值,如下图所示:
import Cocoa
var someStrs = [String]()
someStrs.append("Apple")
someStrs.append("Amazon")
someStrs += ["Google"]
for item in someStrs {
println(item)
}
当上述代码被编译和执行时,它产生了以下结果:
Apple
Amazon
也可以使用 enumerate() 函数,如下面的例子所示,它返回索引及对应的值:
import Cocoa
var someStrs = [String]()
someStrs.append("Apple")
someStrs.append("Amazon")
someStrs += ["Google"]
for (index, item) in enumerate(someStrs) {
println("Value at index = \(index) is \(item)")
}
当上述代码被编译和执行时,它产生了以下结果:
Value at index = 0 is Apple
Value at index = 1 is Amazon
Value at index = 2 is Google
两个数组相加
使用加法运算符(+),以添加的相同类型的数组,这将产生新的数组是来自两个数组值相加组合后的数组,如下:
import Cocoa var intsA = [Int](count:2, repeatedValue: 2)
var intsB = [Int](count:3, repeatedValue: 1) var intsC = intsA + intsB for item in intsC {
println(item)
}
当上述代码被编译和执行时,它产生了以下结果:
2
2
1
1
1
count 属性
可以使用只读计算 (count) 数组属性,找出下面显示出数组中元素的个数:
import Cocoa var intsA = [Int](count:2, repeatedValue: 2)
var intsB = [Int](count:3, repeatedValue: 1) var intsC = intsA + intsB println("Total items in intsA = \(intsA.count)")
println("Total items in intsB = \(intsB.count)")
println("Total items in intsC = \(intsC.count)")
当上述代码被编译和执行时,它产生了以下结果:
Total items in intsA =
Total items in intsB =
Total items in intsC =
空属性
使用只读数组的空属性(isEmpty)找出一个数组是否为空,如下图所示:
import Cocoa var intsA = [Int](count:, repeatedValue: )
var intsB = [Int](count:, repeatedValue: )
var intsC = [Int]() println("intsA.isEmpty = \(intsA.isEmpty)")
println("intsB.isEmpty = \(intsB.isEmpty)")
println("intsC.isEmpty = \(intsC.isEmpty)")
当上述代码被编译和执行时,它产生了以下结果:
intsA.isEmpty = false
intsB.isEmpty = false
intsC.isEmpty = true
swift-Array(数组)的更多相关文章
- iOS - Swift Array 数组
前言 public struct Array<Element> : CollectionType, MutableCollectionType, _DestructorSafeContai ...
- swift Array 数组
// // main.Swift // swift数组 // // Created by zhangbiao on 14-6-15. // Copyright (c) 2014年 理想. Al ...
- [Swift]Array数组的swapAt函数
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤微信公众号:山青咏芝(shanqingyongzhi)➤博客园地址:山青咏芝(https://www.cnblogs. ...
- iOS -Swift 3.0 -Array(数组与可变数组相关属性及用法)
// // ViewController.swift // Swift-Array // // Created by luorende on 16/9/12. // Copyright © 2016年 ...
- Swift中实现Array数组和NSArray数组的相互转换与遍历
Array是Swift中的数组数据类型.而NSArray是OC中的数组数据类型.两者有差别有联系.在Swift中有时候难免会使用到OC中的一些东西.今天我们就来Swift中使用NSArray和Arra ...
- Swift3 - String 字符串、Array 数组、Dictionary 字典的使用
Swift相关知识,本随笔为 字符串.数组.字典的简单使用,有理解.使用错误的地方望能指正. ///************************************************** ...
- 窥探Swift之数组安全索引与数组切片
今天是元宵节,祝大家元宵节快乐!在Swift中的数组和字典中下标是非常常见的,数组可以通过索引下标进行元素的查询,字典可以通过键下标来获取相应的值.在使用数组时,一个常见的致命错误就是数组越界.如果在 ...
- 窥探Swift之数组与字典
说到数组和字典,只要是编过程的小伙伴并不陌生.在Swift中的数组与字典也有着一些让人眼前一亮的特性,今天的博客就来窥探一下Swift中的Array和Dictionary.还是沿袭之前的风格,在介绍S ...
- Swift 之数组与字典
http://www.cocoachina.com/swift/20151230/14802.html 说到数组和字典,只要是编过程的小伙伴并不陌生.在Swift中的数组与字典也有着一些让人眼前一亮的 ...
- 了解PHP中的Array数组和foreach
1. 了解数组 PHP 中的数组实际上是一个有序映射.映射是一种把 values 关联到 keys 的类型.详细的解释可参见:PHP.net中的Array数组 . 2.例子:一般的数组 这里,我 ...
随机推荐
- Unity 官网教程 -- Multiplayer Networking
教程网址:https://unity3d.com/cn/learn/tutorials/topics/multiplayer-networking/introduction-simple-multip ...
- ORA-00257:archiver error解决办法
出现ORA-00257错误(空间不足错误),通过查找资料,绝大部分说这是由于归档日志太多,占用了全部的硬盘剩余空间导致的,通过简单删除日志或加大存储空间就能够解决. (一).oralce 11g更改归 ...
- iOS getter setter
getter setter 给成员变量起名字用的 setter方法 设置成员变量值 1. setter 方法一定是对象方法 不可能是类方法 2.一定没有返回值 3. 以set开头,并且set后面跟上需 ...
- MMAP和DIRECT IO区别
看完此文,题目不言自明.转自 http://blog.chinaunix.net/uid-27105712-id-3270102.html 在Linux 开发中,有几个关系到性能的东西,技术人员非常关 ...
- 【原创】web端高德地图javascript API的调用
关于第三放地图的使用,腾讯.百度.高德 具体怎么选择看你自己怎么选择了. 高德地图开放平台:http://lbs.amap.com/ 本次使用的是高德的javascript API http://lb ...
- 关于VPN的一些问题
在今在外出差,必须得连上公司的数据库,那就得使用VPN了,设置起来还算比较简单(我是win10), 简单介绍一下: 打开设置或者直接点击右下角的
- Android-RelativeLayout(相对布局)
1.RelativeLayout(相对布局) 2.margin针对的是容器中的组件,而padding针对的是组件中的元素
- JHChart 1.1.0 iOS图表工具库中文ReadMe
JHChart(最新版本1.1.0) 好吧,的确当前的github上已经存有不少的iOS图表工具库,然而,当公司的项目需要图表时,几乎没有哪个第三方能够完全满足我的项目需求.无奈之下,本人不得不花费一 ...
- php barcode 制作二条码,隐藏条码的内容,只保留条码
<?php global $_W, $_GPC; $operation = !empty($_GPC['op']) ? $_GPC['op'] : 'display'; require_once ...
- centos6.6 安装jdk1.7
1:在oracle官网下载jdk liunx版本,放入到虚拟机中 2:解压jdk,解压命令 tar -xvzf jdk-7u15-linux-x64.tar.gz 解压完成(如下图) 3:在/usr/ ...