集合类型--数组

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) - 持续更新的更多相关文章

  1. [Swift]数组(Array)最强解析

    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤微信公众号:山青咏芝(shanqingyongzhi)➤博客园地址:山青咏芝(https://www.cnblogs. ...

  2. PHP学习之数组Array操作和键值对操作函数(一)

    PHP 中的数组实际上是一个有序映射.映射是一种把 values关联到 keys 的类型.此类型在很多方面做了优化,因此可以把它当成真正的数组,或列表(向量),散列表(是映射的一种实现),字典,集合, ...

  3. iOS 开发学习资料整理(持续更新)

      “如果说我看得比别人远些,那是因为我站在巨人们的肩膀上.” ---牛顿   iOS及Mac开源项目和学习资料[超级全面] http://www.kancloud.cn/digest/ios-mac ...

  4. cocos2d-x学习资源汇总(持续更新。。。)

    引用地址:http://www.cnblogs.com/zilongshanren/archive/2012/02/17/2356516.html 我之前一直学习c++的,第一次接触cocos2d是o ...

  5. 【我的Android进阶之旅】Realm数据库学习资料汇总(持续更新)

    介绍 realm是一个跨平台移动数据库引擎,支持iOS.OS X(Objective-C和Swift)以及Android. 2014年7月发布.由YCombinator孵化的创业团队历时几年打造,是第 ...

  6. Javascript 学习之数组 Array

    数组在Javascript中占有很重要的地位.任何控件开发离不开数组的使用. 构造函数 new Array( ) new Array(size) new Array(element0, element ...

  7. PHP开发过程中数组汇总 [ 持续更新系列 ]

    开发过程中经常会使用到数组函数,故特地总结出来,自己熟悉,同时供大家参考!(实例部分会抽空尽快完成) 一.目录 array_merge(); 合并数组 array_keys(); array_filt ...

  8. Swift字符串操作-持续更新-2022

    Swift字符串追加 var str = "OC" str.append(" Swfit") print(str) // 输出结果: OC Swift 输出结果 ...

  9. [Unity3D]引擎学习之注意事项(持续更新中)

    调试相关 如果是想在触发粒子系统效果的时候播放声音(比如爆炸的特殊发生时也播放声音),则需要将爆炸效果的粒子系统保持为Prefab后,添加Audio Source组件,在组件中添加声音文件并且确保pl ...

随机推荐

  1. HTML5 简单画图,切片,变形

    本人是在校学生,由于这段时间不知道怎么回事,心情比较无聊没有事干,所以利用这段时间学一下HTML5,发博客的目的是为了以后可以查询,也希望各位大神能够指导像我们这样的菜鸟,告别菜鸟的时段 我学东西时候 ...

  2. springboot +spring security4 自定义手机号码+短信验证码登录

    spring security 默认登录方式都是用户名+密码登录,项目中使用手机+ 短信验证码登录, 没办法,只能实现修改: 需要修改的地方: 1 .自定义 AuthenticationProvide ...

  3. ABAP更改现有程序

    语法: READ REPORT <prog> INTO <itab>. INSERT REPORT <prog> FROM  <itab>. 假定下列简 ...

  4. CONTROLS: <> TYPE TABLEVIEW USING SCREEN<>.在 ABAP/4 中声明表格 控制

    在 ABAP/4 中声明表格 控制 在屏幕中使 用表格控制 时,必须在 ABAP/4 程序中同时 声明表格控 制结构和表 格控制字段 . 例如: TABLES:   SFLIGHT. CONTROLS ...

  5. java 图片压缩 剪切 水印 转换 黑白 缩放

    专注java已6年,欢迎加入java核心技术QQ群:135138817,每周五晚有群主进行技术讲座. import java.awt.AlphaComposite; import java.awt.C ...

  6. winform中如何在TextBox中只能输入数字(可以带小数点)

    可以采用像web表单验证的方式,利用textbox的TextChanged事件,每当textbox内容变化时,调用正则表达式的方法验证,用一个label在text后面提示输入错误,具体代码如下: pr ...

  7. 【web开发学习笔记】ibatis学习总结

    ibatis学习总结 ibatis数据库配置文件 <?xml version="1.0" encoding="UTF-8" ?> <!DOCT ...

  8. LINUX kernel笔记系列 :IO块参数 图

      Linux下,I/O处理的层次可分为4层: 系统调用层,应用程序使用系统调用指定读写哪个文件,文件偏移是多少 文件系统层,写文件时将用户态中的buffer拷贝到内核态下,并由cache缓存该部分数 ...

  9. Chapter 6 - How to Play Music and Sound Effect

    In this chapter, we would add background music to the game and play sound effect when the hero fires ...

  10. Crawler & Ajax:WebBrowser C#

    Crawler 與 Ajax http://net.zdnet.com.cn/network_security_zone/2007/1005/536329.shtml WebBrowser: 利用We ...