07.Swift 数组

2016-02-01  本文已影响209人  Liwx

@(〓〓 iOS-Swift语法)[Swift 语法]


目录


数组的介绍

数组的初始化


// ------------------------------------------------------------------------
// 定义一个可变数组,必须初始化才能使用
var array1 : [String] = [String]()


// ------------------------------------------------------------------------
// 定义一个不可变数组
let array2 : [NSObject] = ["liwx", 18]
var stuArray1:Array<String>
var stuArray2: [String]

// ------------------------------------------------------------------------
// 定义时直接初始化
var array = ["liwx", "lll", "lwe", "lwu"]


// ------------------------------------------------------------------------
// 先定义,后初始化
var array : Array<String>
array = ["liwx", "lll", "lwe", "lwu"]
// ----------------------------------------------------------------------------
// 1.定义数组

// ------------------------------------------------------------------------
// 1.1 定义不可变数组: 使用let修饰
let array : Array<String> = ["liwx", "lll", "lwe", "lwu"]


// ------------------------------------------------------------------------
// 常见写法
let array1 : [String] = ["liwx", "lll", "lwe", "lwu"]
let array2 = ["liwx", "lll", "lwe", "lwu"]

// 整型数组
let array3 : [Int] = [18, 19, 20]
// 数组中包含各种不同类型
let array4 : Array<NSObject> = [18, "liwx", 1.88]

// ------------------------------------------------------------------------
// 在指定数组的类型是NSObject 类型时,除了可以写成NSObject之外,也可以写成AnyObject
// AnyObject也相当于任意对象,一般用于指定数组或字典集合的泛型类型
// 数组中包含任意类型
let array5 : [NSObject] = [18, "liwx", 1.88]
let array6 = [18, "liwx", 1.88]
let array7 : [AnyObject] = [18, "liwx", 1.88]


// ------------------------------------------------------------------------
// 1.2 定义可变数组: 使用var修饰
var names : [String] = ["liwx", "lll", "lwe", "lwu"]

// 在创建一个数组是,必须指定该数组中存放 `元素的数据类型`
// 不常见用法
var names1 : [String] = Array()
var names2 = Array<String>()

// 常见写法
var names3 = [String]()


数组的基本操作(增删改查)

// ----------------------------------------------------------------------------
// 2.可变数组的基本操作
var strNames : [String] = ["liwx", "lll", "lwe", "lwu"]
// 2.1 添加元素, 
// 注意: 不可变数组不能append添加 array.append("aaa")
strNames.append("linux")

// 2.2 删除元素:
strNames.removeAtIndex(1)

// 2.3 修改元素
strNames[1] = "lsm"

// 2.4 查询元素
strNames[0]

// 获取索引值
strNames.indexOf("lsm")

数组的遍历

// ----------------------------------------------------------------------------
// 3.遍历数组
// 3.1 区间遍历
for i in 0..<strNames.count {
    print(strNames[i])
}


// 3.2 for in遍历
for item in strNames {
    print(item)
}

// 3.3 指定区间遍历
for i in 0..<2 {
    print(strNames[i])
}

for item in strNames[0..<2] {
    print(item)
}

数组的合并

// ------------------------------------------------------------------------
// 方法一: 定义一个可变数组将两个数组的元素分别取出来存到新的可变数组(不常用)
/*
let name4 = ["liwx", "lww"]
let name5 = ["laa", "lbb"];
var tempNames = [String]()
for item in name4 {
    tempNames.append(item)
}

for item in name5 {
    tempNames.append(item)
}
tempNames
*/


// ------------------------------------------------------------------------
// 方法二: 定义一个可变数组将两个数组的元素分别取出来存到新的可变数组(不常用)
/*
let name4 = ["liwx", "lww"]
var name5 = ["laa", "lbb"];

for name in name4 {
    name5.insert(name, atIndex: 0)
}
// 拼接结果["lww", "liwx", "laa", "lbb"]
*/

/*
let name4 = ["liwx", "lww"]
var name5 = ["laa", "lbb"];

for i in 0..<name4.count {
    name5.insert(name4[i], atIndex: i)
}
// 拼接结果["liwx", "lww", "laa", "lbb"]
*/

// ------------------------------------------------------------------------
// 方法三: 使用+号拼接(最常用,推荐)
let name4 = ["liwx", "lww"]
let name5 = ["laa", "lbb"];
let name6 = name4 + name5

// 不建议一个数组中存放多种类型的数据
var array3 = [2, 3, "liwx"]
var array4 = ["lll", 23]
array3 + array4
上一篇下一篇

猜你喜欢

热点阅读