【发布时间】:2014-07-29 09:13:09
【问题描述】:
我已经在 .playgraound 中编写了这段代码
var a = [1, 2, 3]
var b = a
var c = a
if b === c
{
"b and c still share the same array elements."
}
else
{
"b and c now refer to two independent sets of array elements."
}
结果是“b 和 c 现在指的是两组独立的数组元素”,但在“Swift 编程语言”中,Apple 这么说
下面的示例使用“相同于”运算符 (===) 来检查 b 和 c 是否仍然共享相同的数组元素。
你能解释一下为什么它们不同吗?
【问题讨论】:
-
即使 a === a 返回 false。
-
我无法重现您的错误。
-
@helderdarocha 这不是错误,这是本书第 307 页的消息。
-
似乎有一个错误,我要提交一个雷达。在 iOS 操场上,
b === c正在返回false。在 OS X 操场上,它返回true。在 REPL 中,它返回true。在 iOS 应用程序中,它返回false。根据书本,应该返回true