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 ...
随机推荐
- linux 查看文件占用的大小
du --max-depth=1 -h /usr/local/tomcat_bjtu2/bin/* 文件路径 du -sh * | sort -nr | head du -sh *
- eclipse javaee 插件安装
eclipese 精简版安装java ee插件 , 按图走 (eclipse 版本 : Indigo Service Release 1 (3.7.1)) java ee 在线安装地址: htt ...
- 一款由css3和jquery实现的响应式设计导航
2014年响应式设计成为设计主流.今天要给大家带来一款由css3和jquery实现的响应式设计导航.当显示器为pc时,导航为横条.当客户端为移动端时,呈现坚形导航.我们一起看下效果图: 在线预览 ...
- 【Unity】同时打开多个项目工程
需求:学习Unity时经常会边参考别人的工程边写自己的Demo工程,需要同时打开多个项目工程. 网上查询的方式大约有两种: 在Edit->Preferences->Editor Analy ...
- 用Lucene对文档进行索引搜索
问题 现在给出很多份文档,现在对某个搜索词感兴趣,想找到相关的文档. 简单搜索 一种简单粗暴的做法是: 1.读取每个文档:2.找到其中含有搜索词的文档:3.对找到的文档中搜索词出现的次数统计:4.根据 ...
- 飞飞影视cms标签
解析范围: 全站所有模板均可调用 模板名称: 所有模板 调用函数: ff_mysql_vod(参数1:值1;参数2:值2;参数3,值3....;参数n,值n),支持的参数列表如下 * 以下变量名如$v ...
- POJ 1523 SPF 割点与桥的推断算法-Tarjan
题目链接: POJ1523 题意: 问一个连通的网络中有多少个关节点,这些关节点分别能把网络分成几部分 题解: Tarjan 算法模板题 顺序遍历整个图,能够得到一棵生成树: 树边:可理解为在DFS过 ...
- 错误将UIViewController当做UITableViewController来用
- selenium测试(Java)--操作cookie(十七)
package com.test.cookies; import org.openqa.selenium.Cookie; import org.openqa.selenium.JavascriptEx ...
- sh脚本循环
sh for循环 for File in 1 2 3 4 5 do echo $File done sh for多重循环 for image_size_input in 160 140 120 100 ...