Swift2.0(5)元组类型&数组类型&字典类型
admin
2023-02-10 08:00:18
0
  • 元组类型

元组Tuple用来归纳多个归纳具有任意类型的相关联的值,如:

     var person = (30, "neusoft")

     print(person)     // (30, "neusoft")

     该元组类型对象person的类型可以认为是:(Int, String)

     

如果想要获取元组中的某个数据,可以采用以下方式

方式一:可以将其中的数据关联到常量或变量中,如:

     let (age, name) = person

     print("age:\(age) name:\(name)”)  // age:30 name:neusoft

     如果并不想将所有的数据都进行关联,可以这样:

     let (_, name) = person

     print("name:\(name)”)   // name:neusoft

方式二:定义时进行关联,使用类似结构体的方式访问

     var person = (age:30, name:"neusoft")

     person.age = person.age + 1

     print("age:\(person.age) name:\(person.name)")

方式三:通过类似下标的方式,直接获取元组中的某个数据,如:

     print("age:\(person.0) name:\(person.1)”)  // age:30 name:neusoft

注意:使用方式二不要访问不存在的关联名,使用方式三不要越界



  • 数组类型

类型的两种写法:

     完整版:Array Array Array

     简化版:[AnyObject] [Int] [String]

     如:

     var arr1:Array<Int> = [1,2,3,4,5,6,7,8]

     var arr2:[String] = ["hello", "world", "neusoft"];

     var arr3:[AnyObject] = [10, "neusoft”]  //AnyObject表示不定类型数组

     var arr4:[String] = [String](); //空数组

数组中的元素个数,使用count属性访问

     print("arr1's count:\(arr1.count)")

使用isEmpty判断数组是否为空

     if arr4.isEmpty {

         print("Empty!")

     }

数组中的元素通过[]运算符获取

     print(arr2[0])     //“hello"

     arr2[0] = "HELLO"

     print(arr2[0])     //“HELLO"

数组可以采用以下方式进行遍历:

方式一:C语言访问方式,如:

     for var i = 0; i < arr1.count; i++ {

         print("arr1[\(i)]=\(arr1[i])")

     }

方式二:for  in 方式,如:

     for item in arr2 {

         print(item)

     }

数组的添加操作

     arr2.append("iOS”) //末尾追加

     arr2.insert("iPhone", atIndex: 1) //指定位置插入

数组的删除操作

     arr2.removeAll() //删除所有元素

     arr2.removeFirst() //删除第一个

     arr2.removeLast() //删除最后一个元素

     arr2.removeAtIndex(2) //删除指定下标的元素

     var s = arr2.popLast() //删除最后一个并返回

数组的创建

     var arr1 = Array<Int>()  //创建空数组

     var arr2 = [String](count: 3, repeatedValue: "hello”) //创建字符串数组,3个元素,都是”hello"

 

数组的连接

     var arr1 = Array<Int>(count: 5, repeatedValue: 3)

     var arr2 = [Int](count: 3, repeatedValue: 5)

     var arr3 = arr1 + arr2

  • 字典类型

     完整版类型:Dictionary

     简化版类型:[KeyType:ValueType]

     Swift中的基本类型,包括String Int Double Bool等都可以成为KeyType,如:

     var person1:[String:AnyObject] = ["name":"xiaoming", "age":20, "score":80]

     var person2:[String:AnyObject] = [String:AnyObject]()

字典的键值对个数:

     print(person1.count)

判断字典是否为空

     if ( person2.isEmpty ) {

         print("Empty!")

     }

字典中元素的获取:(取出的value是可选类型的)

     print(person1["name"]!)  

     print(person1["age"]!)

字典的遍历:

     方式一:key与value

     for (key, value) in person1 {

         print("key:\(key) value:\(value)")

     }

     方式二:key

     for key in person1.keys {

         print(key)

     }

     方式三:value

     for value in person1.values {

         print(value)

     }

添加/设置字典中的value

     person1.updateValue(30, forKey: "age")

     print(person1["age"]!)

删除字典中的字段

     person1.removeAll()

     person1.removeValueForKey("age")


相关内容

热门资讯

德国总理:美国正在被伊朗羞辱 德国之声4月27日报道,德国总理默茨在访问一所学校时表示,在当前的持续冲突中,伊朗领导层正试图羞辱美...
理响中国|“长”歌以行,风云激... 光阴如梭,东方潮阔。这里是中国的长三角,世界的长三角。无论过去、现在还是未来,这片土地都因时代而生,...
白宫:特朗普及其国安团队开会讨... 新华社华盛顿4月27日电 美国白宫新闻秘书莱维特27日在记者会上证实,总统特朗普及其国家安全团队当天...
人民日报刊文:日本放开杀伤性武... 日本放开杀伤性武器出口推高地缘冲突风险(国际论坛)常思纯《人民日报》(2026年04月28日 第 0...
医疗保障法草案二审:明确生育保... 满足多样化健康保障需求本报记者 彭 波4月27日,医疗保障法草案二审稿提请十四届全国人大常委会第二十...
天津一景区发生自转旋翼机事故1... 澎湃新闻记者 吕新文中国民用航空华北地区管理局4月22日公布《豪客通航“10•1”天津长芦汉盐旅游区...
卡塔尔埃米尔与美国总统特朗普通... 当地时间24日,卡塔尔埃米尔塔米姆与美国总统特朗普通电话,重点就中东地区局势以及伊朗与美国谈判问题交...
男子30年前被扣押2859克黄... 澎湃新闻记者 王鑫家住辽宁省大连市的潘永嘉近日向澎湃新闻反映称,三十年前,他在大连周水子机场被盖州市...
商务部:取消反制欧盟两家金融机... 中华人民共和国商务部令二〇二六年 第1号鉴于欧盟已取消对中国两家金融机构的制裁措施,现公布《关于取消...
过去24小时共有5艘船只通过霍... 总台记者当地时间24日获悉,过去24小时内,共有5艘船只通过霍尔木兹海峡,其中包括一艘伊朗油轮。(总...