购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

Tip 4

多元组(Tuple)

多元组是我们的新朋友,多尝试使用这个新特性吧,会让生活轻松不少。比如交换输入,普通程序员“亘古以来”可能都是这么写的:

但是要是使用多元组的话,我们可以不使用额外空间就完成交换,一下子就达到了“文艺程序员”的写法:

在Objective-C中有不少需要传递指针的地方,以前的错误处理NSError就是个很好的例子。但是在Swift2.0中,传入指针的NSError已经被新加入的异常机制取代,所以我们在这里举另一个例子来说明多元组的应用。在Objective-C中,CGRect有一个辅助方法CGRectDivide,它用来将一个CGRect在一定位置切分成两个区域。具体定义和用法如下:

上面的代码将{0,0,100,100}的rect分割为两部分,分别是{0,0,20,100}的small和{20,0,80,100}的large。由于C系语言的单一返回,我们不得不通过传入指针的方式让方法来填充需要的部分,可以说使用起来既不直观又很麻烦。

而现在在Swift中,这个方法摇身一变,使用了多元组的方式来同时返回被分割的部分和剩余部分:

然后使用时,相比之前的做法,现在就非常简单并且易于理解了: 46bQl1RD5Wzc//zys70NFOV1+nxDp6QLQoiOkujErnr8z7EGB60V0FTr6FctPf5g

点击中间区域
呼出菜单
上一章
目录
下一章
×