美文网首页ios编程技术收集IOSSwift
Swift基本语法之数组和字典

Swift基本语法之数组和字典

作者: coderwhy | 来源:发表于2015-12-13 20:29 被阅读7679次

数组

数组的介绍

  • 数组(Array)是一串有序的由相同类型元素构成的集合
  • 数组中的集合元素是有序的,可以重复出现
  • Swift中的数组
    • swift数组类型是Array,是一个泛型集合

数组的初始化

  • 数组分成:可变数组和不可变数组
    • 使用let修饰的数组是不可变数组
    • 使用var修饰的数组是可变数组
// 定义一个可变数组,必须初始化才能使用
var array1 : [String] = [String]()

// 定义一个不可变数组
let array2 : [NSObject] = ["why", 18]
  • 在声明一个Array类型的时候可以使用下列的语句之一
var stuArray1:Array<String>
var stuArray2: [String]
  • 声明的数组需要进行初始化才能使用,数组类型往往是在声明的同时进行初始化的
// 定义时直接初始化
var array = ["why", "lnj", "lmj"]

// 先定义,后初始化
var array : Array<String>
array = ["why", "lnj", "lmj"]

对数组的基本操作

// 添加数据
array.append("yz")

// 删除元素
array.removeFirst()

// 修改元素
array[0] = "why"

// 取值
array[1]

数组的遍历

// 遍历数组
for i in 0..<array.count {
    print(array[i])
}

// forin方式
for item in array {
    print(item)
}

// 设置遍历的区间
for item in array[0..<2] {
    print(item)
}

数组的合并

// 数组合并
// 注意:只有相同类型的数组才能合并
var array = ["why", "lmj","lnj"]
var array1 = ["yz", "wsz"]
var array2 = array + array1;

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

字典

字典的介绍

  • 字典允许按照某个键来访问元素
  • 字典是由两部分集合构成的,一个是键(key)集合,一个是值(value)集合
  • 键集合是不能有重复元素的,而值集合是可以重复的,键和值是成对出现的
  • Swift中的字典
    • Swift字典类型是Dictionary,也是一个泛型集合

字典的初始化

  • Swift中的可变和不可变字典
    • 使用let修饰的数组是不可变字典
    • 使用var修饰的数组是可变字典
// 定义一个可变字典
var dict1 : [String : NSObject] = [String : NSObject]()

// 定义一个不可变字典
let dict2 = ["name" : "why", "age" : 18]
  • 在声明一个Dictionary类型的时候可以使用下面的语句之一
var dict1: Dictionary<Int, String>
var dict2: [Int: String]
  • 声明的字典需要进行初始化才能使用,字典类型往往是在声明的同时进行初始化的
// 定时字典的同时,进行初始化
var dict = ["name" : "why", "age" : 18]

// swift中任意对象,通常不使用NSObject,使用AnyObject
var dict : Dictionary<String, AnyObject>
dict = ["name" : "why", "age" : 18]

字典的基本操作

// 添加数据
dict["height"] = 1.88
dict["weight"] = 70.0
dict

// 删除字段
dict.removeValueForKey("height")
dict

// 修改字典
dict["name"] = "lmj"
dict

// 查询字典
dict["name"]

字典的遍历

// 遍历字典中所有的值
for value in dict.values {
    print(value)
}
// 遍历字典中所有的键
for key in dict.keys {
    print(key)
}

// 遍历所有的键值对
for (key, value) in dict {
    print(key)
    print(value)
}

字典的合并

// 字典的合并
var dict1 = ["name" : "yz", "age" : 20]
var dict2 = ["height" : 1.87, "phoneNum" : "+86 110"]
// 字典不可以相加合并
for (key, value) in dict1 {
    dict2[key] = value
}

相关文章

网友评论

  • Z了个L:Swift中,数组如何存放字典哦 :blush:
  • 9a1c9ec57bb0:为什么按照你的写会报错。
  • 9a1c9ec57bb0:error: use of undeclared type 'NSObject'
  • Z了个L:一直关注老师的最新swift发表,写的非常精简实用
  • Z了个L:code why老师,可以麻烦老师发个分享给我下载一下最新的ios安装文档莫 :blush:
    Z了个L:老师,下载ios安装文档好了之后,已经显示勾选了,然后断开网络去看文档,发现不显示内容,是不是哪里出问题了
    Z了个L:那个网速不行的话,就得下载许久了,认为老师会已经下载好之后,放到云盘上,然后学生直接下载, :blush: 非常感谢您的答复 :heart:
    coderwhy:@Z了个L xcode可以直接下载的哈
  • ___as7:每次看到红哥的头像,我都忍不住一乐
  • 333748347200:看了总共发现有几处错误,是表述性的错误,应该是在复制过程中没有改过来!望多注意!!
  • 333748347200:上面有句话“swift字典类型是Array,是一个泛型集合”是不是写错了?
    coderwhy:@农大浒 多谢提醒😝,稍后会修改
  • iOS小王子:赶快更新:smile:
  • 2daa4e802549:why先生,好牛的赶脚

本文标题:Swift基本语法之数组和字典

本文链接:https://www.haomeiwen.com/subject/qkquhttx.html