Struct VS Class
StructとClassの違い
差異
最も一般的な回答
Struct is Valute Type & Class is Reference Type
でもこれはどういう意味ですか...
コード例で説明すると...
Struct
struct Person {
var name: String = "SUHUN"
}
var i = Person()
print(i.name) // SUHUN 출력
var you = i // 복사
print(you.name) // SUHUN 출력
// #1
i.name = "Test Name"
print(i.name) // Test Name 출력
print(you.name) // SUHUN 출력
// #2
you.name = "Your Name Test"
print(i.name) //SUHUN 출력
print(you.name) // Your Name Test 출력
名前とあなた.nameはすでに異なるインスタンスです.したがって、値タイプは元のファイルをコピーする必要はありません.
各インスタンスにはそれぞれの値があります.
Class
class People {
var name : String = "suhun"
}
var mine = People()
print(mine.name) // print "suhun"
var your = mine // copy
var third = mine // copy for The 3rd
print(your.name) // print "suhun"
your.name = "Test Name" // 복사 한 인스턴스의 값 변경
// 참조한 데이터까지 변경
print(mine.name) // print "Test Name"
print(your.name) // print "Test Name"
「クラス」(参照タイプ)参照タイプを一度コピーすると、値の元の値が参照されるまで、すべての値が変更されます.
アップルの公式ドキュメントを参照してください
iDOのブログを参照してください
Reference
この問題について(Struct VS Class), 我々は、より多くの情報をここで見つけました https://velog.io/@dkehskeh/Struct-VS-Classテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol