swift学习笔记之---数组、字典、枚举、结构体
1、数组-Array
let types = ["none","warning","error"] //省略类型的数组声明 let menbers = [String]() //声明一个空数组 menbers.append("six") //添加元素
menbers += ["seven"] //添加元素
menbers.insert("one", atIndex:) //指定位置添加元素 menbers[] = "message" //通过下标修改数组中的数据
menbers[...] = ["message","hangge","com"] //通过小标区间替换数据(前3个数据) menbers.count //获取数组元素个数
menbers.isEmpty //判断数组是否为空 menbers.removeAtIndex() //删除下标为2的数组
menbers.removeLast() //删除最后一个元素
menbers.removeAll(keepCapacity:true) //删除数组中所有元素 let addStringArr = types + menbers //数组组合 //使用for in 实现数组遍历
for value in menbers{
print("\(value)");
} //通过enumerate函数同时遍历数组的所有索引与数据
for (index,value) in menbers.enumerate(){
print("索引:\(index) 数据:\(value)");
} //交换元素位置(第2个和第3个元素位置进行交换)
swap(&menbers[], &menbers[])
2、字典 - Dictionary (即键值对)
/***字典***/
let empty = [String: Int]()//建立一个空字典
print("第一个输出的是\(empty)") var myDic = ["name":"hgl","age":""] //声明一个字典
print(myDic) //添加或修改key值
myDic["address"] = "china"
print(myDic)
//删除name这个key值
myDic.removeValueForKey("name")
print(myDic)
//同样可以删除“name”这个key值
myDic["name"] = nil
print(myDic)
//访问字典的key集合
myDic.keys
//访问字典的values集合
myDic.values //遍历字典
for (key,value) in myDic { print("\(key):\(value)") }
//只遍历字典的键(key)
for key in myDic.keys
{
print("\(key)")
}
//只遍历字典的值(value)
for value in myDic.values { print("\(value)")
}
3、结构体 - struct
//创建一个结构体
struct BookInfo{
var ID:Int =
var Name:String = "Defaut"
var Author:String = "Defaut"
} var book1:BookInfo //默认构造器创建结构体实例
var book2 = BookInfo(ID:,Name:"航歌",Author:"hangge") //调用逐一构造器创建实例
book2.ID = //修改内部值
4、枚举 - enum
/***枚举****/ enum compassPoint
{
case North
case South
case East
case West
} let directionToHead = compassPoint.North
print(directionToHead) enum Planet:Int
{
case Mercury =
case Venus =
case Earth =
} let earthsOrder = Planet.Earth.rawValue //rawValue来获取他的原始值:3
print("方向是:\(earthsOrder)")
let possiblePlanet = Planet(rawValue:)//通过原始值来寻找所对应的枚举成员:Venus
print(possiblePlanet) enum Direction
{
case Up
case Down func description() ->String
{
switch self {
case .Up:
return "向上"
case .Down:
return "向下"
}
} } print(Direction.Up.description())
注:使用 rawValue 属性来访问枚举成员的原始值。rawValue
swift学习笔记之---数组、字典、枚举、结构体的更多相关文章
- C#学习笔记(七):结构体、数组、冒泡排序和调试
结构体 结构体不能重写默认无参构造函数 一位数组 using System; using System.Collections.Generic; using System.Linq; using Sy ...
- 《objective-c基础教程》学习笔记(三)—— 从结构体到面向对象
一听标题,感觉十分的抽象.面向对象就是(Object-Oriented Programming)的首字母缩写:OOP,是当今最主流的编程方法. 那么,面向对象编程具体有什么好处呢.是如何来实现呢?通过 ...
- Swift学习笔记(12)--数组和字典的复制
Swift中,数组Array和字典Dictionary是用结构来实现的,但是数组与字典和其它结构在进行赋值或者作为参数传递给函数的时候有一些不同. 并且数组和字典的这些操作,又与Foundation中 ...
- 【Swift学习笔记00】——enumeration枚举类型遵循协议protocol
Apple官方文档:The Swift Programming LanguageProtocols and Extensions一节的小节练习,要求自行定义一个enumeration枚举类型,并且遵循 ...
- 【swift学习笔记】五.使用枚举优雅的管理Segue
在做页面转跳的时候,我们要给Segue命名,如果Segue多了,管理他们就是一个恶梦.我们可以枚举更优雅的管理这些Segue. 1.我们先来建立一个protocol,他的功能就是让实现类实现一个Seg ...
- Swift学习笔记(5)--数组
数组的下标从0开始计数,相关方法属性涉及到下标时也从0开始计数 1.定义: //1.可变数组 var cityArray = ["Portland","San Franc ...
- swift学习笔记7
不管做什么事,只要敬业点,把该作的做好.不要总找借口. 不要看不起小事,生活本是一件件小事的集合.细节决定成败. 士兵突击里面有句台词:他每做一件小事的时候,都好像抓住了一根救命稻草,到最后你才发现, ...
- matlab学习笔记12_2创建结构体数组,访问标量结构体,访问非标量结构体数组的属性,访问嵌套结构体中的数据,访问非标量结构体数组中多个元素的字段
一起来学matlab-matlab学习笔记12 12_2 结构体 创建结构体数组,访问标量结构体,访问非标量结构体数组的属性,访问嵌套结构体中的数据,访问非标量结构体数组中多个元素的字段 觉得有用的话 ...
- C#学习笔记_12_枚举&结构体
12_枚举&结构体 枚举 是一种数据类型 适用于某些取值范围有限的数据 语法: [访问权限修饰符] enum 枚举名 { 枚举值 } 枚举名遵循大驼峰命名法 枚举一般情况下是和switch c ...
随机推荐
- javascript publish/subscribe or observer pattern
定义 定义一对多的对象封装,目标对象状态发生变化,它所有的接受者都会收到通知并做相应的更新. 使用频率:5/5 最高 概要 观察者模式,也就是发布者/订阅者模式,当发布者发布一个通知的时候,订阅者就 ...
- BSD Socket~TCP~Example Code
TCP 协议实现 C版本号,可用于Mac OS X机器上执行 Server: /* Setting up a simple TCP server involves the following step ...
- Accumulator
Accumulator简介 Accumulator是spark提供的累加器,顾名思义,该变量只能够增加. 只有driver能获取到Accumulator的值(使用value方法),Task只能对其做增 ...
- linux查找系统中占用磁盘空间最大的文件
Q:下午有一客户磁盘空间占用很大,使用df查看磁盘剩余空间很小了,客户想知道是哪些文件占满了文件. Q1:在Linux下如何查看系统占用磁盘空间最大的文件? Q2:在Linux下如何让文件夹下的文件让 ...
- PKU OJ Exponentiation
ExponentiationTime Limit: 500MS Memory Limit: 10000KTotal Submissions: 155886 ...
- CentOS5.4安装redmine详细步骤
>>>>概述<<<< 这里不解释什么是redmine及用来做什么,如果不知道用来做什么,估计也不会把它安装到CentOS5.4上.哈哈…… 以下为详细的 ...
- [转]ListView学习笔记(一)——缓存机制
要想优化ListView首先要了解它的工作原理,列表的显示需要三个元素:ListView.Adapter.显示的数据: 这里的Adapter就是用到了适配器模式,不管传入的是什么View在ListVi ...
- 执行大数据量SQL文件
sqlserver2008中需要执行大文件的脚本,查询分析器中打不开,需要用到sql命令,开始使用osql命令 使用sqlcmd可以执行:在DOS中,调用sqlcmd命令,并使用对应选项 sql ...
- BOOTH 算法的简单理解
学习FPGA时,对于乘法的运算,尤其是对于有符号的乘法运算,也许最熟悉不过的就是 BOOTH算法了. 这里讲解一下BOOTH算法的计算过程,方便大家对BOOTH的理解. 上图是BOOTH ...
- 修改 ueditor1_4_3-utf8-php 它的图片上传地址
本来是这样的 至少应该是在,myapp目录下吧,从myapp文件夹,我的网站才刚开始啊...你让我将来怎么设置?麻烦... 找到uploader的文件 $rootPath = $_SERVER['DO ...