iOS swift構文6日目🐤
6471 ワード
StructとClass
構造とは?
簡単に言えば、レプリカを作成できるので、レプリカを変更する変数は元の変数の値を変更しません.
structとは異なり、コピーは元のファイルに関連付けられているため、コピーを変更すると元のファイルも変化します.
構造とは?
簡単に言えば、レプリカを作成できるので、レプリカを変更する変数は元の変数の値を変更しません.
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 : 김김용용
Reference
この問題について(iOS swift構文6日目🐤), 我々は、より多くの情報をここで見つけました https://velog.io/@longlivedrgn/iOS-swift-문법-6일차テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol