【Swift】学习笔记(四)——设置(Collection)
Swift和其他语言也提供了两种类型的集合:数组和字典
数组:数组用来按顺序存储同样类型的数据,swift规定它是类型安全的,每个数组都有自己的类型也就是其它语言所说的泛型。
创建数组:
1、var aa:[String] = ["aa","bb","cc"] 或者 var aa = ["aa","bb","cc"]
2、var aa = [String]() //空数组 aa.append("aa") //向aa数组添加一个成员。aa=[] //清空数组
3、var a = [Double](count:5,repeatedValue:0.0) //创建一个5个大小的数组,而且都赋值为0.0 ,因为swift类型判断的特性。还能够不用指定类型。var a = Array(count:5,repeatedValue:0.0)只是不推荐。
4、var a = [Double](count:5,repeatedValue:0.0); var
b = [Double](count:5,repeatedValue:5.5); var c = a + b; //将两个数组项合并到一个数组中去,类型会从相加的数组中判断出来。
数组的訪问和改动:
数组的操作莫过于加项,改动项,删除项。遍历项等操作。
var aa = [String]()
推断数组是否为空。aa.isEmpty()
加到数组末尾:aa.append("test") 或者 aa += ["test1"] 或者 aa+=["test2","test3"]
插入到某一个位置:aa.insert("test2",atIndex:0)
获取某一项:下标 var tt = aa[0]
改动: aa[0] = "new test" 还能够批量改 aa[4...6] = ["a","b"]
删除项:var removeItem = aa.removeAtIndex(0) 被移除的项会返回出来。
删除最后一个var removeItem = aa.removeLast()
遍历能够用for in循环。这个到for循环的时候再嘻嘻讨论。从上面append方法就能够看出数组是可变的。当然定义为let类型就不可变了。。
。
字典,也就是键值对。
无序存储 Dictionary<KeyType, ValueType> KeyType的唯一限制就是可哈希的,这样能够保证它是独一无二的。全部的 Swift 基本类型(比如String,Int, Double和Bool)都是默认可哈希的
创建:1、通过字面量创建 var aa:Dictionary<String, String> = ["a":"aaa","b":"bbb"] 当然也可省略dictionary 写成 var aa = ["a":"aaa","b":"bbb"]
2、创建一个空字典 var aa = Dictionary<String, String> () 清空数据 aa = [:]
//比数组多了一个:号
读取:
1、字典大小 aa.count count属性
2、下标获取 var tmp = aa["a"]
改动:
1、下标改动 aa["a"] = "abc" //a这个key存在则改动,不存在则新增。
非常智能
2、方法改动 var oldValue = aa.updateValue("bbccdd",forKey:"b")
移除
1、用nil进行移除: aa["a"] = nil 就把key为a的移除了
2、方法移除: var oldValue = aa.removeForKey("a") a这个key和存在的数据被移除了
遍历也是用for in循环。在for循环中讨论.
swift不像oc那样只在C语言的基础上外包一层面向对象,它真的很灵活也和其它的编程语言语法很相似。要使用它easy的。
版权声明:本文博客原创文章,博客,未经同意,不得转载。
【Swift】学习笔记(四)——设置(Collection)的更多相关文章
- Swift学习笔记四
前面三篇笔记通过一些示例展示了Swift的一些特性,粗略地介绍了它的语法和特色,从这一篇笔记开始,将正式系统地介绍Swift的语法和特性了. Swift是一门为iOS和OSX开发准备的全新语言,但是它 ...
- Swift学习笔记四:数组和字典
Swift 提供两种集合类型来存储集合,数组和字典. 数组是一个同类型的序列化列表集合.字典是一个能够使用相似于键的唯一标识符来获取值的非序列化集合.也就是说数组是有序的.字典是无序的. 一. 数 ...
- swift学习笔记(四)关于类的继承
在swift中,继承是区分类与其它对象的基本特征 继承后的子类能够重写父类的方法,包含类方法和实例方法,属性和附属脚本(subscript) 在继承过程中,构造器方法init()是不被继承的,须要显示 ...
- IOS学习笔记(四)之UITextField和UITextView控件学习
IOS学习笔记(四)之UITextField和UITextView控件学习(博客地址:http://blog.csdn.net/developer_jiangqq) Author:hmjiangqq ...
- Typescript 学习笔记四:回忆ES5 中的类
中文网:https://www.tslang.cn/ 官网:http://www.typescriptlang.org/ 目录: Typescript 学习笔记一:介绍.安装.编译 Typescrip ...
- Linux学习笔记(四) vi编辑器
一.vi 编辑器 vi 编辑器 (Visual Interface) 是所有 Unix 及 Linux 系统下标准的编辑器,相当于 Windows 系统中的记事本 它有三种模式,分别是: Comman ...
- MySql学习笔记四
MySql学习笔记四 5.3.数据类型 数值型 整型 小数 定点数 浮点数 字符型 较短的文本:char, varchar 较长的文本:text, blob(较长的二进制数据) 日期型 原则:所选择类 ...
- openresty 学习笔记四:连接mysql和进行相关操作
openresty 学习笔记四:连接mysql和进行相关操作 毕竟redis是作为缓存,供程序的快速读写,虽然reidis也可以做持久化保存,但还是需要一个做数据存储的数据库.比如首次查询数据在red ...
- ZooKeeper学习笔记四:使用ZooKeeper实现一个简单的分布式锁
作者:Grey 原文地址: ZooKeeper学习笔记四:使用ZooKeeper实现一个简单的分布式锁 前置知识 完成ZooKeeper集群搭建以及熟悉ZooKeeperAPI基本使用 需求 当多个进 ...
随机推荐
- CrossBridge介绍
CrossBridge介绍 作者:chszs,转载需注明.博客主页: http://blog.csdn.net/chszs CrossBridge是Adobe FlasCC的开源版本,它提供了一个完整 ...
- 调用微信退款接口时,证书验证出现System.Security.Cryptography.CryptographicException: 出现了内部错误 解决办法
1.证书密码不正确,微信证书密码就是商户号 解决办法:请检查证书密码是不是和商户号一致 2.IIS设置错误,未加载用户配置文件 解决办法:找到网站使用的应用程序池-->右击-->高级设置- ...
- 关于Opencv2.4.x中stitcher类的简单应用
1.opencv2.4以上版本有stitcher类,可以简单方便的实现图像的拼接,目前只是简单的测试一下stitcher类的拼接功能,也是纠结了好长时间,最终发现是要在链接库中加上opencv_sti ...
- Android它SDK Manager无法更新终极解决方案
前些日子.Google终于发布Android5.0正式版--棒糖.也许你和我一样,,此外,我想在第一时间更新SDK,结果打开SDK Manager,但令人失望,络围墙啊.默默问一句:近期好久没有听到方 ...
- 微信简单Demo
新建一个WxHandler.ashx public class WxHandler : IHttpHandler { public static string Msg; public void Pro ...
- Oracle Dataguard 介绍
Oracle DataGuard介绍 一. DataGuard的基本原理 当某次事务处理对生产数据库中的数据作出更改时,Oracle数据库将在一个联机重做日志文件里记录此次更改.在DataGuard中 ...
- 安装dotnet core
CentOS 7.1下安装dotnet core .NET CORE的官方(http://dotnet.github.io/getting-started/)只提供了Windows, Ubuntu14 ...
- ZooKeeper集群安装
ZooKeeper是Apache提供的.分布式服务协调系统,应用比較广泛. 由于项目中使用Kafka MQ,而Kafka全然使用ZooKeeper实现Kafka各组件的服务协调,包含Broker.Co ...
- 【译】使用微软企业库5.0进行WCF服务边界上的异常保护
在Windows Communication Foundation (WCF)中,为了阻止服务的实现细节从服务的安全边界泄露,未知的异常不应该被发送至客服端.在WCF配置中将<serviceDe ...
- 项目构建之maven篇:2.HelloWorld项目构建过程
文件结构说明: 项目构建生命周期: 清理 编译 測试 打包 执行 部署 清理与编译 hello\pom.xml POM:Project Object Model,项目对象模型 pom.xml与ant的 ...