学习Swift -- 数组(Array) - 持续更新
集合类型--数组
Array是Swift中的一种集合类型:数组,数组是使用有序列表储存同一类型的多个值,与OC的NSArray的最大不同是,Swift的数组是值类型,OC的数组是引用类型
声明数组的方法
// 如果声明可变数组 就设置为变量
var someMutableArray = [Int]() // 声明了空数组 类型为Int // 相反声明不可变数组就设置为常量
let someArray = Array(count: 5, repeatedValue: 0.03) // 声明了一个不可变数组,类型自定推断为double类型,包含5个元素,它们的值都是0.03 // 直接设置元素的声明方法
let someInt = [3,5,8,10,91] // 声明了一个 可以包含任何类型的数组
var array = [Any]()
访问数组中的元素或其他属性
let someInt = [3,5,8,10,91] someInt.first // 取到数组的第一个元素,如果数组为空返回 nil
someInt.last // 取到数组的最后一个元素,如果数组为空返回 nil
someInt.count // 获得数组中的元素个数
someInt.isEmpty // 判断数组是否为空 空返回true
someInt[4] // 通过下标脚本访问第4个元素的值,注意下标是从0开始计算
let subInts = someInt[2...4] // 通过一个范围访问元素,返回一个数组
为数组添加新元素
var someMutableArray = [Int]() // 声明了空数组 类型为Int
someMutableArray.append(5) // 添加一个元素 5
someMutableArray += [11, 0] // 拼接一个数组
someMutableArray.insert(3, atIndex: 1) // 在指定的下标插入一个值
删除数组的元素
var someMutableArray = [5, 10, 88, 55, 69, 73, 411]
someMutableArray.removeLast() // 删除最后一个元素
someMutableArray.removeFirst() // 删除第一个元素
someMutableArray.removeRange(0...2) // 删除一个范围内的元素
someMutableArray.removeAtIndex(0) // 删除指定位置的元素
someMutableArray.removeAll() // 删除所有元素
修改数组中的元素
var someInt = [12, 55, 86, 49, 31, 12, 558]
someInt[5] = 111 // 通过下标脚本修改
someInt[0...2] = [1, 2, 3] // 通过一个范围修改
常用的遍历方法
var someInt = [12, 55, 86, 49, 31, 12, 558]
for item in someInt {
print(item) // item会自动推断类型
} for (index, value) in someInt.enumerate() {
// 通过一个元组遍历,index是下标, value是值
print(index, value)
}
学习Swift -- 数组(Array) - 持续更新的更多相关文章
- [Swift]数组(Array)最强解析
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤微信公众号:山青咏芝(shanqingyongzhi)➤博客园地址:山青咏芝(https://www.cnblogs. ...
- PHP学习之数组Array操作和键值对操作函数(一)
PHP 中的数组实际上是一个有序映射.映射是一种把 values关联到 keys 的类型.此类型在很多方面做了优化,因此可以把它当成真正的数组,或列表(向量),散列表(是映射的一种实现),字典,集合, ...
- iOS 开发学习资料整理(持续更新)
“如果说我看得比别人远些,那是因为我站在巨人们的肩膀上.” ---牛顿 iOS及Mac开源项目和学习资料[超级全面] http://www.kancloud.cn/digest/ios-mac ...
- cocos2d-x学习资源汇总(持续更新。。。)
引用地址:http://www.cnblogs.com/zilongshanren/archive/2012/02/17/2356516.html 我之前一直学习c++的,第一次接触cocos2d是o ...
- 【我的Android进阶之旅】Realm数据库学习资料汇总(持续更新)
介绍 realm是一个跨平台移动数据库引擎,支持iOS.OS X(Objective-C和Swift)以及Android. 2014年7月发布.由YCombinator孵化的创业团队历时几年打造,是第 ...
- Javascript 学习之数组 Array
数组在Javascript中占有很重要的地位.任何控件开发离不开数组的使用. 构造函数 new Array( ) new Array(size) new Array(element0, element ...
- PHP开发过程中数组汇总 [ 持续更新系列 ]
开发过程中经常会使用到数组函数,故特地总结出来,自己熟悉,同时供大家参考!(实例部分会抽空尽快完成) 一.目录 array_merge(); 合并数组 array_keys(); array_filt ...
- Swift字符串操作-持续更新-2022
Swift字符串追加 var str = "OC" str.append(" Swfit") print(str) // 输出结果: OC Swift 输出结果 ...
- [Unity3D]引擎学习之注意事项(持续更新中)
调试相关 如果是想在触发粒子系统效果的时候播放声音(比如爆炸的特殊发生时也播放声音),则需要将爆炸效果的粒子系统保持为Prefab后,添加Audio Source组件,在组件中添加声音文件并且确保pl ...
随机推荐
- 3proxy代理软件文档说明
官方英文原版说明:http://www.3proxy.ru/howtoe.asp 配置文件的简要说明:如果你的英文理解力好,可以试着研究一下他的手册. 以实例说明吧 nscache 65536域名解析 ...
- PowerShell自定义对象
前面的性能高 使用[pscustomobject][ordered]强制类型转换 [pscustomobject][ordered]@{Name= 'Boe'Number = 1ID = 007} 使 ...
- UVa 872 - Ordering 输出全拓扑排序
本题要求输出所有拓扑排序的序列. 还好本题的数据量不是非常大.限制在26个大写英文字母,故此能够使用递归法输出. 这个递归输出所有解在Leetcode非常多这种题目的,不小心的话,还是非常难调试的. ...
- 用apache的httpclient发请求和接受数据
此处发请求的是用httpclient4,请自己下载所需要的jar包. 发post请求,并得到数据. String url = "http://localhost:8080/lee" ...
- Mysql 进阶操作
将已经存在表设置自动增长属性alter table student change id id int not null auto_increment primary key;(注:这个地方一定是原来就 ...
- Linux多网卡多IP配置
echo "210 local100" >> /etc/iproute2/rt_tables echo "220 local200" >> ...
- android之Java+html+javascript混合开发
android开发,除了使用原生态的开发方式之外,还可以使用java+html+javascript混合开发的方式来开发,这样可以节省大量的开发时间,同时还可以使不同设备的用户获得相同的用户体验.好了 ...
- value must be omitted for boolean attributes
jsx文件中 html5一些标签的属性是boolean的,<div hidden="true">是不被允许的,要改成<div hidden>或<div ...
- 卸载RedHat7自带的yum,安装并使用网易163源
由于redhat的yum在线更新是收费的,如果没有注册的话不能使用,如果要使用,需将redhat的yum卸载后,安装CentOS yum工具,再配置其他源,以下为详细过程: 删除redhat原有的yu ...
- jquery easyui动态校验,easyui动态验证
>>>>>>>>>>>>>>>>>>>>>>>>> ...