swift 空合运算符
空合运算符( ??)将对可选类型 进行空判断,如果包含一个值就进行解封,否则就返回一个默认值 .这个运算符有两个条件:
• 表达式 必须是Optional类型• 默认值 的类型必须要和 存储值的类型保持一致
空合运算符是对以下代码的简短表达方法 a != nil ? a! : b
上述代码使用了三目运算符。当可选类型 a 的值不为空时,进行强制解封( a! )访问 a 中值,反之当 a 中值为空 时,返回默认值b。无疑空合运算符( ?? )提供了一种更为优雅的方式去封装条件判断和解封两种行为,显得简洁 以及更具可读性。
注意: 如果 a 为非空值( non-nil ),那么值 b 将不会被估值。这也就是所谓的短路求值。
swift 求集合运算
使用 intersect(_:) 方法根据两个集合中都包含的值创建的一个新的集合。使用 exclusiveOr(_:) 方法根据在一个集合中但不在两个集合中的值创建一个新的集合。 • 使用 union(_:) 方法根据两个集合的值创建一个新的集合。使用 subtract(_:) 方法根据不在该集合中的值创建一个新的集合。
使用“是否相等”运算符( == )来判断两个集合是否包含全部相同的值。
使用 isSubsetOf(_:) 方法来判断一个集合中的值是否也被包含在另外一个集合中。
使用 isSupersetOf(_:) 方法来判断一个集合中包含另一个集合中所有的值。
使用 isStrictSubsetOf(_:) 或者 isStrictSupersetOf(_:) 方法来判断一个集合是否是另外一个集合的子集合 或者父集合并且两个集合并不相等。 使用 isDisjointWith(_:) 方法来判断两个集合是否不含有相同的值。
网友评论