1、数组的定义

    //OC 使用[]定义数组,Swift一样,但是没有@

//自动推导的结果[String]->表示数组中存的都是String

//跟OC中的数组指定泛型类型

    //Swift 中基本数据类型不需要包装

let array = ["张三","里斯"]

   //CG结构体

let p = CGPoint(x: 10, y: 300)

let array3 = [p]

//混合数组:开发中几乎不用,因为数组是靠下标索引

//如果数组中的类型不一致,自动推导的结果[NSObject]

//在Swift 中还有一种类型[AnyObject]->任意类型

//在Swift 中一个类可以没有任何‘父类’

//在混合的数组中,CG结构体需要包装

let array4 = ["账单",1,2,NSValue(CGPoint:p)]

2、数组的遍历

  let array = ["张三","里斯","xiaoming"]

方法一:按照下标遍历

for i in 0..<array.count {

print(i)

}

方法二:for in 遍历元素

for s in array{

print(s)

}

方法三:enum block 遍历,同时遍历下标和内容

for e in array.enumerate(){

print(e)

/*

元组

(0, "张三")

(1, "里斯")

(2, "xiaoming")

*/

}

方法四:遍历下标和内容

//n 索引下标

//s 就是[String]数组n对应的String元素

//n/s随便写

for (n, s) in array.enumerate(){

print("\(n)\(s)")

}

方法五:反序遍历

for s in array.reverse(){

print(s)

}

方法六:反序遍历下标和内容

//先枚举再反序

for (n,s) in array.enumerate().reverse(){

print("\(n)\(s)")

}

3、数组的增删改

  OC数组分为可变和不可变数组,在Swift中改变var就行

 追加元素

  array.append("老王")

//修改,通过下标定位

array[0] = "@"

//删除

array.removeAtIndex(2)

//删除全部,并且保留空间

array.removeAll(keepCapacity: true)

print("\(array)\(array.capacity)")

4、数组的容量

//定义个数组,指定类型, 但是没有初始化

//var array: [Int]

//初始化

// array = [Int]()

//以上可以合并成一句

var array = [Int]()

array.capacity的容量初始化为0,以2,4,8,16……递增

  

  //如果初始化指定容量,可以避免插入数据时,重复分配空间,效率会高点

//[NSMutableArray arrayWithcapacity:10]

5、数组的合并

   var array:[NSObject] = ["张三","里斯","xiaoming"]

let array2 = ["老公","1","2",100]

//将array2合并到array中

//注:要合并的数组类型必须一致,才可以直接+

array += array2

Swift-数组的更多相关文章

  1. Swift数组

    数组的介绍 数组(Array)是一串有序的由相同类型元素构成的集合 数组中的集合元素是有序的,可以重复出现 Swift中的数组 swift数组类型是Array,是一个泛型集合 数组的初始化 数组分成: ...

  2. 3. Swift 数组|字典|集合

    在OC中数组,字典,集合有自己的表示方法,分别是Array,Dictionary,Set 与 String 都属于数值类型变量,他们都属于结构体. 使用简介灵活多变,个人感觉可读性变差了很多,用起来由 ...

  3. 学习Swift -- 数组(Array) - 持续更新

    集合类型--数组 Array是Swift中的一种集合类型:数组,数组是使用有序列表储存同一类型的多个值,与OC的NSArray的最大不同是,Swift的数组是值类型,OC的数组是引用类型 声明数组的方 ...

  4. Swift数组的存取与修改

    对数组的存取与修改可以通过数组的方法和属性来进行,或者使用数组的下标语法. 要知道数组中元素的数量,可以查看它的只读属性count: println("The shopping list c ...

  5. Swift数组字面量

    可以用一个数组字面量来初始化一个数组,简单地把一个或多个值放在一起就可以了.数组字面量的写法是一行用逗号隔开的值,并在行的两端用一对方括号包起来: [value , value , value ] 下 ...

  6. swift 数组 的一些快速方法

    1. filter (过滤器):返回符合条件的一个数组 let arr = [1,5,6,7,10,0] //写法1 let arr1 = arr.filter { (item) -> Bool ...

  7. swift 数组作为函数参数的书写格式

    数组定义 --[来自百度知道] Swift语言使用类型名紧接中括号[]来简化标准库中定义的命名型类型Array.例如 Array<String> = ["Alex", ...

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

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

  9. 【Swift初见】Swift数组(二)

    在苹果的开发文档中对Array还提供了其它的操作算法: 1.Sort函数: 对数组进行排序.依据指定的排序规则,看以下的代码: var array = [2, 3, 4, 5] array.sort{ ...

  10. Swift数组的加法运算符用法:array1 += array2

    var stringList1 = [String]() //创建String类型空数组 var stringList2 = ["1", "3", " ...

随机推荐

  1. 降临(线段树优化dp)

    降临 选定点i会有代价\(c_i\),如果一个区间j内的点全被选择,就可以获得回报\(p_j\).点数和区间个数\(<1e5\). 还以为是线段树优化网络流(50万个点200万条边看上去很可做的 ...

  2. CI框架源码学习笔记3——Log.php

    上一节说完了Common.php,然而跟代码打交道总是免不了日志记录,所以这一节我们说说Log.php文件. 先看看类里面的几个属性, protected $_log_path;  日志路径 prot ...

  3. P4234 最小差值生成树 LCT维护边权

    \(\color{#0066ff}{ 题目描述 }\) 给定一个标号为从 \(1\) 到 \(n\) 的.有 \(m\) 条边的无向图,求边权最大值与最小值的差值最小的生成树. \(\color{#0 ...

  4. linux进程池模型

    static int nchildren;static pid_t* pids;int main(int argc,char**argv){ int listenfd,i; socklen_t add ...

  5. windows mysql导入sql文件

    当需要的sql文件很大时(>200M)怎么办?答:修改my.ini文件,max_allowed_packet的值可以设置为1024M 进入mysql.exe目录下,执行如下命令: mysql - ...

  6. Linux中切换前后台命令:ctrl+z,bg,fg,jobs

    一.运行某些服务的时候,我希望切换到后台运行: 两种方法: 1.可以在运行的时候,在启动服务命令的最后面加一个字符&,例如 ./serviceStart & 2.在服务启动后,按ctr ...

  7. IP 分段 子网掩码

    子网掩码分网段 例如 200台机器分成4个子网 [ ip 段 ] 200台机器,4个子网,那么就是每个子网50台机器,设定为192.168.10.0,C类的IP,大子网掩码应为255.255.255. ...

  8. POJ-1128-Frame Stacking

    链接:https://vjudge.net/problem/POJ-1128 题意: 每张图片上面画了一些边框,给出这些边框叠在一起后的图片,图片边框一定是由一个字母表示并且每条边至少三个字符,输入保 ...

  9. FileLoadException: 未能加载文件或程序集"aliyun-net-sdk-cf, Version=1.0.0.0,

    清理缓存解决 C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files C:\Windows\Microsoft. ...

  10. hdu1016 Prime Ring Problem(DFS)

    Prime Ring Problem Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Other ...