数组

  • 空数组
1
2
var someArray = [SomeType]() //空数组
*var names = [String]()
  • 初始化大小
1
2
3
var someArray = [SomeType](repeating: InitialValue, count: NumbeOfElements)
var someInts = [Int](repeating: 0,count: 10)
var someString = [String](repeating: "ban",count: 10)
  • 访问数组

    索引。比如:someInts[0]

  • 修改数组

1
2
3
4
5
6
7
//append 或者 +=
someInts.append(20)
someInts.append(30)
someInts += [40]

//索引修改
someInts[2] = 50
  • 遍历数组
1
2
3
4
5
6
7
8
//普通
for item in someStrs {
print(item)
}
//同时需要每个数据项的值和索引值,可以使用 String 的 enumerate() 方法来进行数组遍历
for (index, item) in someStrs.enumerated() {
print("在 index = \(index) 位置上的值为 \(item)")
}
  • 合并数组
1
2
//使用加法操作符(+)来合并两种已存在的相同类型数组
var intsC = intsA + intsB
  • count属性
1
2
var intsA = [Int](count:2, repeatedValue: 2)
println("\(intsA.count)")
  • isEmpty属性

    1
    SomeInts.isEmpty

字典

  • 空字典
1
2
3
var someDict =  [KeyType: ValueType]()
var someDict = [String: String]()
var someDict:[String: String] = ["name": "ban","sex": "m"]
  • 修改字典
1
2
3
4
5
//使用 updateValue(forKey:) 增加或更新字典的内容。如果 key 不存在,则添加值,如果存在则修改 key 对应的值
var oldVal = someDict.updateValue("bandianhong", forKey: "name")

//使用索引修改
someDict[0] = "ban"
  • 移除元素
1
2
3
4
5
//使用 removeValueForKey() 方法来移除字典 key-value 对,如果 key 存在该方法返回移除的值,如果不存在返回 nil 。
var removedValue = someDict.removeValue(forKey: "name")

//指定键值对移除
someDict["name"] = nil
  • 遍历字典
1
2
3
4
5
6
7
for (key, value) in someDict {
print("字典 key \(key) - 字典 value \(value)")
}

for (key, value) in someDict.enumerated() {
print("字典 key \(key) - 字典 (key, value) 对 \(value)")
}
  • 字典转换为数组
1
2
let dictKeys = [String](someDict.keys)
let dictValues = [String](someDict.values)