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学习笔记之---数组、字典、枚举、结构体的更多相关文章

  1. C#学习笔记(七):结构体、数组、冒泡排序和调试

    结构体 结构体不能重写默认无参构造函数 一位数组 using System; using System.Collections.Generic; using System.Linq; using Sy ...

  2. 《objective-c基础教程》学习笔记(三)—— 从结构体到面向对象

    一听标题,感觉十分的抽象.面向对象就是(Object-Oriented Programming)的首字母缩写:OOP,是当今最主流的编程方法. 那么,面向对象编程具体有什么好处呢.是如何来实现呢?通过 ...

  3. Swift学习笔记(12)--数组和字典的复制

    Swift中,数组Array和字典Dictionary是用结构来实现的,但是数组与字典和其它结构在进行赋值或者作为参数传递给函数的时候有一些不同. 并且数组和字典的这些操作,又与Foundation中 ...

  4. 【Swift学习笔记00】——enumeration枚举类型遵循协议protocol

    Apple官方文档:The Swift Programming LanguageProtocols and Extensions一节的小节练习,要求自行定义一个enumeration枚举类型,并且遵循 ...

  5. 【swift学习笔记】五.使用枚举优雅的管理Segue

    在做页面转跳的时候,我们要给Segue命名,如果Segue多了,管理他们就是一个恶梦.我们可以枚举更优雅的管理这些Segue. 1.我们先来建立一个protocol,他的功能就是让实现类实现一个Seg ...

  6. Swift学习笔记(5)--数组

    数组的下标从0开始计数,相关方法属性涉及到下标时也从0开始计数 1.定义: //1.可变数组 var cityArray = ["Portland","San Franc ...

  7. swift学习笔记7

    不管做什么事,只要敬业点,把该作的做好.不要总找借口. 不要看不起小事,生活本是一件件小事的集合.细节决定成败. 士兵突击里面有句台词:他每做一件小事的时候,都好像抓住了一根救命稻草,到最后你才发现, ...

  8. matlab学习笔记12_2创建结构体数组,访问标量结构体,访问非标量结构体数组的属性,访问嵌套结构体中的数据,访问非标量结构体数组中多个元素的字段

    一起来学matlab-matlab学习笔记12 12_2 结构体 创建结构体数组,访问标量结构体,访问非标量结构体数组的属性,访问嵌套结构体中的数据,访问非标量结构体数组中多个元素的字段 觉得有用的话 ...

  9. C#学习笔记_12_枚举&结构体

    12_枚举&结构体 枚举 是一种数据类型 适用于某些取值范围有限的数据 语法: [访问权限修饰符] enum 枚举名 { 枚举值 } 枚举名遵循大驼峰命名法 枚举一般情况下是和switch c ...

随机推荐

  1. 一款基于TweenMax.js的网页幻灯片

    之前介绍了好多网页幻灯片.今天给大家带来一款基于TweenMax.js的网页幻灯片.这款幻灯片以不规则的碎片百叶窗的形式切换.切换效果非常漂亮.一起看下效果图: 在线预览   源码下载 实现的代码. ...

  2. PDNN中数据格式和数据装载选项

    吃人家嘴短,拿人家手短,用别人的东西就不要BB了,按规矩来吧. 训练和验证的数据都在命令行以变量的形式按如下方式指定: --train-data "train.pfile,context=5 ...

  3. C语言 · 分糖果

    历届试题 分糖果   时间限制:1.0s   内存限制:256.0MB      问题描述 有n个小朋友围坐成一圈.老师给每个小朋友随机发偶数个糖果,然后进行下面的游戏: 每个小朋友都把自己的糖果分一 ...

  4. http://blog.csdn.net/ouyang_peng/article/details/8732644

    http://blog.csdn.net/ouyang_peng/article/details/8732644

  5. Spring事件监听Demo

    Spring事件监听实现了观察者模式.本Demo在junit4测试环境中实现 主要有三个类事件类.监听器类.事件发布类(入口) 事件类必须继承 ApplicationEvent,代码如下: impor ...

  6. SpringMVC 利用AbstractRoutingDataSource实现动态数据源切换

    SpringMVC 利用AbstractRoutingDataSource实现动态数据源切换 本文转载至:http://exceptioneye.iteye.com/blog/1698064 Spri ...

  7. Extjs 继承Ext.Component自定义组件

    //自定义HTML组件 Ext.define('MyCmp', { extend: 'Ext.Component', renderTpl: [ '<h1 class="title&qu ...

  8. 创建一个简单的 MDM server(1)

    前提:已获得 APNS 证书 ,已完毕 MDM 配置描写叙述文件的制作.请參考< MDM 证书申请流程 >一文和<配置MDM Provisioning Profile>. 环境 ...

  9. history统计命令最多的20条

    1.1.1 统计使用命令最多的20条 [root@ob1 ~]# history|awk '{ml[$2]++}END{for (i in ml) print i,ml[i]}'|sort -nrk ...

  10. Cracking the coding interview--Q2.5

    题目 原文: Given a circular linked list, implement an algorithm which returns node at the beginning of t ...