スウィフトのイニシャライザの動作を視覚化できません。この例は、公式のドキュメントです。スウィフトイニシャライザの視覚化の理解
struct Fahrenheit{
var temp : Double
init(){
temp = 32.0
}
}
var f = Fahrenheit()
print(" \(f.temp)")
//Prints 32.0
は、ここで私は今まで理解何が私が間違っていたときに、私を修正してください:
- 構造体は値型です。
- 可変tempは、構造体が(メモリ内で)定義されているメモリ空間内に値を格納するストアドプロパティです。
- 変数 'f'を作成すると、構造華氏のインスタンス(オブジェクト)コピーが同じプロパティを持つ別のメモリ空間に作成されます。私が理解することができませんどのよう
は
init(){
temp = 32.0
}
- 何であるか、インスタンスfにやっていることです。
- 一般的には、インネシアターを使用するのはいつですか。 (主な目的:例を用いて)。
- また、関数、クロージャ、イニシャライザの違い、それらのメモリへの格納方法は?
fオブジェクトが作成されると、このオブジェクトは[9000]などのメモリアドレスを使用します。また、 'f'はメモリアドレス[9000]を参照するために使用されます。しかし、私は "それはオブジェクト(風船)の内部に効果をもたらす"と理解していませんでした。ありがとう! –
tempの値はオブジェクト内にあります。したがって、イニシャライザはオブジェクト内で変更を行います。それはfの中で変化を起こさず、オブジェクト内で変化を起こします。 – tosha
したがって、オブジェクトの一時的な値は基本的に更新されますか? –