【发布时间】:2015-01-02 14:07:52
【问题描述】:
今天我只是了解了一些基本的 swift 概念,并正在使用一些示例来理解这些概念。现在我已经完成了元组的学习。
我有一个疑问,即使用元组有什么需要?是的,我对此进行了一些挖掘,这就是我得到的:
我们可以从一个函数返回多个值。好的,但是我们也可以通过返回一个数组来做到这一点。
数组可以,但我们可以返回多个不同类型的值。好的很酷,但这也可以通过 AnyObject 数组来完成,如下所示:
func calculateStatistics (scores:[Int])->[AnyObject]
{
var min = scores[0]
var max = scores[0]
var sum = 0
for score in scores
{
if score > max{
max = score
}
else if score < min{
min = score
}
sum += score
}
return [min,max,"Hello"]
}
let statistics = calculateStatistics([25,39,78,66,74,80])
var min = statistics[0]
var max = statistics[1]
var msg = statistics[2] // Contains hello
我们可以命名元组中存在的对象。好的,但我可以使用 AnyObject 的字典。
我不是说当我们得到这个时为什么要使用元组。但是应该有一些只有元组才能做到的事情,或者只有元组才能轻松做到。此外,如果没有充分的理由,创建 swift 的人不会在 swift 中涉及元组。所以他们应该有充分的理由参与其中。
所以如果有任何特定情况下元组是最好的选择,请告诉我。
提前致谢。
【问题讨论】:
-
尝试编写一个函数返回两个不同类型的值而不使用元组
-
@BryanChen 您可以看到我添加的示例代码,它返回一个 AnyObject 数组。