博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
#从零开始学SWIFT2.0# NO.5 可选变量和集合
阅读量:6993 次
发布时间:2019-06-27

本文共 1185 字,大约阅读时间需要 3 分钟。

我的博客地址: 

代码Github地址 : 

可选变量

可选变量是用来处理值可能缺失的.可选变量可以表示为: 有值, 等于值; 无值, 这两种.

可选变量的表示形式是在类型后加" ? "的形式.

如图所示, 如果possibleStr可以由String类型转化为Int类型, 则optInt的值为possibleStr转化为Int类型的值; 反之, possibleStr不能由String类型转化为Int类型, 则optInt无值.

nil

Swift的nil和Objective - C中的nil并不一样. 在Objective - C 中, nil是一个指向不存在对象的指针, 而在Swift中, nil并不是指针, 它是一个确定的值, 用来表示值缺失. 任何类型的可选状态都可以被设置为nil, 不单单是对象类型.

集合

集合" Set " 是无序无重复数据的集. 当集合元素顺序不重要时或者希望确保每个元素只出现一次时可以使用集合而不是数组.

集合与字典和数组类似, 分为可变集合和不可变集合. 同样的使用" let "声明不可变集合, 使用" var "声明可变集合.

同样的可以使用isEmpty或count == 0 来判断集合是否为空.

使用insert添加元素, 使用remove移除元素.

可以使用contains方法检查集合中是否包含一个特定的值, 这是集合独有的.

同样的使用for-in可以遍历集合

不过可以通过sort方法在遍历时给集合排序.

集合操作

通过集合操作可以高效的完成集合的一些基本操作, 比如把两个集合组合到一起, 判断两个集合共有元素, 判断两个集合是否全包含, 部分包含或者不想交等.  下图描述了两个集合a和b以及通过阴影部分的区域显示集合各种操作的结果.

1. 使用intersect方法根据两个集合中都包含的值创建一个新的集合.

2. 使用exclusiveOr方法根据阿紫一个集合中但不在两个集合中创建一个新的集合.

3.使用union方法根据两个集合的值创建一个新的集合.

4. 使用subtract方法根据不在该集合中的值创建一个新的集合.

集合成员关系

1. 使用" == "来判断两个集合是否包含全部相同的值.

2. 使用isSubsetOf方法来判断一个集合中的值是否也被包含在另外一个集合中

3. 使用isSupersetOf方法来判断一个集合中包含另一个集合中所有的值

4. 使用isStrictSubsetOf或者isStrictSupersetOf方法来判断一个集合是否是另外一个集合的子集合或者父集合并且两个集合并不相等

5. 使用isDisjointWith方法来判断两个集合是否不含有相同的值

转载于:https://www.cnblogs.com/sunSQuan/p/5091088.html

你可能感兴趣的文章
[LeetCode] Surrounded Regions, Solution
查看>>
MySQL系列:数据库基本操作(1)
查看>>
cpu真实核数
查看>>
hdu1058(dp)
查看>>
android EditText与TextView几个常用的属性
查看>>
SDN第五次上机作业
查看>>
redis 重要的配置参数
查看>>
Oracle 高级编程 01 ~
查看>>
JS重点整理之JS原型链彻底搞清楚
查看>>
springboot 配置文件
查看>>
浏览器插件 - Chrome 对 UserScript 的声明头(metadata)兼容性一览
查看>>
两个list<object> 比较 得到相同数据 差异数据
查看>>
The road to learning English-Writing
查看>>
Codeforces 990B :Micro-World
查看>>
interceptor拦截器
查看>>
课堂练习
查看>>
Git 工具 - 储藏(Stashing)
查看>>
c# Winforms WebBrowser - Clear all cookies
查看>>
学习 Spring (十) 注解之 @Bean, @ImportResource, @Value
查看>>
POJ 1741 Tree ——点分治
查看>>