快速Swift技巧I

字典作为一线开关/盒

从技术上讲,您可以使用字典将switch case块重写为一行。

首先,创建一个字典,其中每个对都将大小写条件作为键,并将其对应的返回值作为值。 最后,由于字典在运行时可能有也可能没有键,因此我们使用nil合并运算符来处理默认情况。

例如,看看我们如何转换开关盒并返回带有其IndexPath的单元格高度:

自然,这种类型的重写将取决于您先前的逻辑有多复杂。 另外,请记住,并非总是单衬板是最佳选择。 您应该始终优先考虑代码的可读性。 但是,拥有另一种选择总是很好。

可变参数

可变参数是函数参数,其行为类似于常量数组,但在调用时以不同的方式表示。 代替使用数组符号,传递的元素用逗号分隔。

如果要使用这些参数构建自己的函数,只需声明参数的类型,后跟3个点。

例如,查看以下简单的UIView扩展以在单个调用中添加多个子视图:

在这里,我们可以根据需要传递尽可能多的参数。 但是,每个函数只能有一个可变参数。