iOS swift構文6日目🐤


StructとClass
構造とは?
簡単に言えば、レプリカを作成できるので、レプリカを変更する変数は元の変数の値を変更しません.
import UIKit

// 클래스와 스트럭트--> 둘 다 변수들의 덩어리이다

print("======struct=======")
struct YoutuberStruct {
    var name: String
    var subscribersCount : Int
}

var devJeong = YoutuberStruct(name:"김용재", subscribersCount: 99999)

var devJeongClone = devJeong

print("값을 넣기 전의 devJeongClone.name : \(devJeongClone.name)")

devJeongClone.name = "홀로롤롤"

print("값 넣은 후 devJeongClone.name : \(devJeongClone.name)")
print("값 넣은 후 devJeong.name : \(devJeong.name)")
以上の結果値は以下の通りです.
======struct=======
값을 넣기 전의 devJeongClone.name : 김용재
값 넣은 후 devJeongClone.name : 홀로롤롤
값 넣은 후 devJeong.name : 김용재
クラスは何ですか.
structとは異なり、コピーは元のファイルに関連付けられているため、コピーを変更すると元のファイルも変化します.
//클래스 --> 스트럭쳐와 다르게 생성자(init)을 만들어줘야된다.
class YoutuberClass {
    var name: String
    var subscribersCount : Int
    // 생성자 - 즉 메모리에 올린다
    // 매개 변수를 넣어서 객체를 생성시킬 수 있다.
    init(name: String, subscribersCount: Int){
        self.name = name
        self.subscribersCount = subscribersCount
    }
}

var kimyongjae = YoutuberClass(name: "김용재", subscribersCount: 99999)
var kimyongjaeClone = kimyongjae

print("값을 넣기 전의 kimyongjaeClone.name : \(kimyongjaeClone.name)")

kimyongjaeClone.name = "김김용용"

print("값을 넣은 후의 kimyongjaeClone.name : \(kimyongjaeClone.name)")
print("값을 넣은 후의 kimyongjae.name : \(kimyongjae.name)")
上のコードの結果値は次のとおりです.
======class=======
값을 넣기 전의 kimyongjaeClone.name : 김용재
값을 넣은 후의 kimyongjaeClone.name : 김김용용
값을 넣은 후의 kimyongjae.name : 김김용용