Ios 实例和初始化之间的区别

Ios 实例和初始化之间的区别,ios,swift,cocoa-touch,Ios,Swift,Cocoa Touch,我希望我在这里的第一篇文章没有出问题 我是一个三无主义者,想把基本概念弄对 我了解了类的全部内容,但不太清楚实例和init(初始化)之间的区别 我能这样想吗 小型建筑开发场地的设计已获得批准。(蓝图)那就是课堂,没错 “实例”是从工厂用卡车购买的一个单元,然后吊入 但是,当测量员来到现场并在现场确定其空间“分配”时,是否会进行初始测量?(我在Swift之前就开始研究Objective-C,你可以看出,我只是刚刚研究了Swift)还是其他什么 因为Swift文档告诉我“var”或“let”对象需要

我希望我在这里的第一篇文章没有出问题 我是一个三无主义者,想把基本概念弄对

我了解了类的全部内容,但不太清楚实例和init(初始化)之间的区别

我能这样想吗

小型建筑开发场地的设计已获得批准。(蓝图)那就是课堂,没错

“实例”是从工厂用卡车购买的一个单元,然后吊入

但是,当测量员来到现场并在现场确定其空间“分配”时,是否会进行初始测量?(我在Swift之前就开始研究Objective-C,你可以看出,我只是刚刚研究了Swift)还是其他什么

因为Swift文档告诉我“var”或“let”对象需要指定一个值,所以它不能是nil。 这很奇怪,当我看到很多材料,像

var X : Int
let str : String
我没有看到任何值,他们说他们明确希望看到X=5或str=“cotton”

因此,tat为init()留下了两个可能的类比:

不要求任何伟大的讨论,哪一个更正确?如果有,那么“实例化”或“初始化”(同样的事情)就是在创建类的实例时。因此,使用类似的比喻,
是房屋的蓝图,
初始化(init)
是施工人员建造房屋的时候,
实例
是您居住的完工房屋


在上面的示例中,这将是
var x=5
。施工队刚刚创建了
x
,并将其设置为
5
。现在,您可以对
x
的实例执行任何操作,如将其更改为
6
。第一个告诉大家
x
将成为
Int
的例子就是
类的作用。

类是对象的蓝图。例如,MyObject包含这些变量x、y和z,并具有这些方法foo1、foo2、foo3。类的实例是单个对象的实例化(创建),该对象包含x、y和z的值,并且可以使用这些方法foo1、foo2、foo3

类的init执行类所需的任何初始化,通常为构造的对象变量x=3、y=4和z=5赋值。在构建对象时要做的任何事情都应该在init中完成

在swift中,如果您创建了一个变量,但没有使用值(例如var x:int)对其进行初始化,并尝试使用该变量,则会出现编译器错误。对象已实例化,但未初始化。如果需要变量包含nil,则必须使用可选标记(?),var x:int?=无变量x现在是可选类型

var X : Int // like the building has the bounds set out, it's just not filling the space?
Var X = 5  // like the building is in place, but still empty and not in habitation