【发布时间】:2019-08-28 17:58:24
【问题描述】:
我对结构与类感到困惑。我看过这个例子根据这个例子structure-vs-class根据链接可能是代码输出是15,15,15,20
但是代码输出是 因为结构没有改变,但是当我在 Xcode 上运行代码时它返回我 15,15,20,20
class objectmanagement
{
public var x : Int = 10;
func display()
{
print("\(x)")
}
}
struct StuctManagement{
var obj = objectmanagement()
}
let SA = StuctManagement()
SA.obj.x = 15
var SB = StuctManagement()
SB.obj = SA.obj
SA.obj.display()
SB.obj.display()
SB.obj.x = 20
SA.obj.display()
SB.obj.display()
我很困惑,请帮助我理解这个输出,这与类输出相同
【问题讨论】:
-
类是引用的,你说过 SB 的 obj 与 SA 的 obj 相同。一个类对象的行为仍然像一个类对象,即使它是一个结构的属性。在链接的示例中,属性是第二部分中的结构(字符串)。此问题应作为您链接到的问题的副本关闭。