变量引用的实例到底在哪里?

Where exactly are the instances being referenced by the variable?

var john1: Person1?
var unit4B : Apartment2?


john1 = Person1(name: "John")
unit4B = Apartment2(unit: "4B")

实例具体在哪里?我知道 john1unit4B 是引用实例的变量……但是实例到底是什么……在上面的声明中或属性的初始化中 nameunit?如果变量 john1unit4B 是实例,那么它们不应该被变量引用......?我很困惑老实说,我不知道我在说什么,我已经阅读了大约 5 遍文档,但仍然很困惑! 属性 初始化本身是像 John4B 一样的 "instance" 是在属性 nameunit 中初始化的吗?

实例 是您在内存中创建的对象的个体 "versions"。在这种情况下,您将在此处创建 两个 个实例:

... = new Person1(name: "John")
... = new Apartment2(unit: "4B")

并且您将它们分配给您之前定义的变量。

当您在此处定义您的变量时:

var john1: Person1?
var unit4B : Apartment2?

这些现在是变量,不引用任何东西。他们不 "point to" 对象的任何特定实例。 (但是您正在定义它们将来可以指向的类型。)

您可以选择将 定义 赋值 组合成一个语句,例如:

var john1: Person1? = Person1(name: "John")
var unit4B : Apartment2? = Apartment2(unit: "4B")