zoukankan      html  css  js  c++  java
  • #从零开始学SWIFT2.0# NO.5 可选变量和集合

    我的博客地址: sunquan.club

    代码Github地址 : https://github.com/developerSunquan/SwiftStudyNotes

    可选变量

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

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

    如图所示, 如果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方法来判断两个集合是否不含有相同的值

  • 相关阅读:
    前端Tips#3
    前端Tips#2
    图算法
    【Javascript】重新绑定默认事件
    【Yeoman】热部署web前端开发环境
    添加远程链接MySQL的权限
    background-clip 背景图片做适当的裁剪
    linux系统下将php和mysql命令加入到环境变量中的方法
    background-size 设置背景图片的大小
    multiple backgrounds 多重背景
  • 原文地址:https://www.cnblogs.com/sunSQuan/p/5091088.html
Copyright © 2011-2022 走看看