swift 数组、字典、集合、结构体、枚举——swift学习(四)
2016-05-19 10:58
483 查看
//数组 array let arr:Array = [4,5,6]; //不可变数组 var mulArr:Array = ["a","b","c"]; //没有显示说明数组元素的数据类型 var mulAr2:Array = [Int]() // 声明一个空数组 mulAr2.append(1)//添加元素 mulAr2+=[2,3]//添加数组 mulAr2+=arr//添加数组 mulAr2.insert(0, atIndex: 0)//指定位置添加元素 for element in mulAr2{ print("\(element)") } print("\n") mulAr2[1] = 7 //通过下标修改元素 mulAr2[0...2] = [7,8,9] //通过区间修改元素 for element in mulAr2{ print("\(element)") } print("\n") if !mulAr2.isEmpty{//判断数组是否为空 print("\(mulAr2.count)")//count数组个数 } print("\n") mulAr2.removeAtIndex(2)//删除下标为2的元素 for element in mulAr2{ print("\(element)") } print("\n") mulAr2.removeLast()//删除最后的元素 for element in mulAr2{ print("\(element)") } print("\n") mulAr2.removeFirst(2)//删除前两个元素 for element in mulAr2{ print("\(element)") } print("\n") let newMulArr = mulAr2+arr//数组组合 for(index,value) in newMulArr.enumerate(){//使用enumerate()同时遍历数组的所有索引与数据 print("index:\(index) value:\(value)") } //字典 dictionary var empty = [String:Int]()//建立一个空的字典 empty["test"] = 1//添加一个元素 empty = [:]//又变成一个空数组 var myDic:Dictionary = ["name":"shayne","age":"24"] myDic["address"] = "china"//添加元素 myDic["sex"]="boy" myDic.removeValueForKey("age")//删除“name”这个key值 myDic["address"] = nil for (key,value) in myDic{//遍历字典的键值对 print("\(key):\(value)") } for key in myDic.keys{//遍历字典的键 print("\(key)") } for value in myDic.values{//遍历字典的值 print("\(value)") } if let oldValue = myDic.updateValue("fcf", forKey: "name"){//updateValue用于修改相应键对应的值,因为字典有可能不存在该值,所以要使用可选型 print("\(oldValue):\(myDic["name"]!)") } //集合 set var emptySet = Set<Character>()//创建一个特定类型的空集合,注意这里的类型一定要显性表示出来 print("\(emptySet.count)") emptySet.insert("c") emptySet = []//置空 var set1:Set = ["b","c","a"]//这里的类型就可以省略 set1.insert("d")// if let removeSetItem = set1.remove("b"){//移除元素 print("\(removeSetItem)") } if set1.contains("a"){//是否包含某个元素 print("\(set1.indexOf("a"))")//拿到索引 } for itemOfSet in set1.sort(){//排序 print("\(itemOfSet)") } let set2:Set<Int> = [1,3,5,7,9] let set3:Set<Int> = [0,2,4,6,8] let sushu:Set<Int> = [2,3,5,7] for item in set2.union(set3){//并集 print("\(item)") } print("\n") for item in set2.intersect(sushu){//交集 print("\(item)") } print("\n") for item in set2.exclusiveOr(sushu){//set2与sushu的并集除set2与sushu的交集 print("\(item)") } print("\n") for item in set2.subtract(sushu){//set2中除去set2与sushu的交集 print("\(item)") } //使用==判断两个子集是否相等 //isSubsetOf()判断集合中的某个值是不是在另一个集合中 //isSupersetOf()判断一个集合是不是包含另外一个集合的所有值 //isStrictSubsetOf()判断某个集合是不是某个集合的子集且两个集合不等 //isStrictSupersetOf()判断某个集合是不是某个集合的父集且两个集合不等 //结构体 struct struct BookInfo{ var ID:Int = 0 var Name:String = "Default" var Author:String = "fcf" } var book1:BookInfo // 默认构造器创建结构体实例 var book2 = BookInfo(ID:001,Name:"shayne",Author: "fcf")// book2.ID = 002 //修改值 //枚举 enum enum Direction{ case North case South case East case West } var direction = Direction.East enum Planet:Int{ case Mercury = 1 case Venus = 2 case Earth = 3 } let earthOrder = Planet.Earth.rawValue //rawValue获取原始值 print(earthOrder) let possiblePlanet = Planet(rawValue:2) //通过原始值来寻找对应的枚举成员 print(possiblePlanet!) enum Direct { case Up case Down func description() -> String { switch (self) { case .Up: return "上" //这里不需要使用break跳出,但是要往下执行可以加fallthrough case .Down: return "下" } } } print(Direct.Up.description())
相关文章推荐
- Apple Swift学习教程
- 介绍 Fedora 上的 Swift
- C#编程中枚举类型的使用教程
- 枚举的用法详细总结
- PHP中Enum(枚举)用法实例详解
- c#入门之枚举和结构体使用详解(控制台接收字符串以相反的方向输出)
- 理解C#中的枚举(简明易懂)
- C#枚举中的位运算权限分配浅谈
- C++基础入门教程(四):枚举和指针
- FileShare枚举的使用小结(文件读写锁)
- Java枚举类用法实例
- 枚举窗口句柄后关闭所有窗口示例
- javascript模拟枚举的简单实例
- 深入剖析JavaScript中的枚举功能
- Swift中实现点击、双击、捏、旋转、拖动、划动、长按手势的类和方法介绍
- Swift自定义iOS中的TabBarController并为其添加动画
- Swift编程中的泛型解析
- Swift中定义二维数组的方法及遍历方法示例
- 枚举和宏的区别详细解析