Swift.Struct and Class
SWIFTプログラミング3版を見て整理した内容
大文字のcamel caseで命名すればいいです.
PropertyとMethodは小文字のキャメルボックスを使用します.
大文字のcamel caseで命名すればいいです.
PropertyとMethodは小文字のキャメルボックスを使用します.
値を格納するためにpropertyを定義できます. 機能を実行する方法を定義できます. サブスクリプト構文により、サブスクリプトを定義して、構造体またはクラスが持つ値にアクセスできます. 頭文字Liserを定義して、の初期化時の状態を指定できます. が最初に実装されると同時に、Extensionによって拡張され、新しい機能を追加することもできる. は、特定の機能を実行するために特定のプロトコルを遵守することができる. 構造体は継承できません. 型鋳造は、クラスインスタンスでのみ可能である. デジタル署名はクラスインスタンスにのみ使用できます. 参照カウントは、クラスのインスタンスにのみ適用されます.
構造の値タイプクラスは参照タイプです
SWIFTのすべての基本データ型は構造体です
アップルのガイドラインでは、以下のいずれかの条件を満たす場合は、構造体を使用することを推奨します.の目的は、単純な関連値セット をカプセル化することである.
コピー値がでカプセル化された値と比較すると、コピー値が である場合構造体に格納プロパティが値タイプであり、参照よりもコピーが適切である場合、 .他のタイプから継承する必要がない場合または自分で継承する必要がない場合 .
こうぞうたい
大文字のcamel caseで命名すればいいです.
PropertyとMethodは小文字のキャメルボックスを使用します.
構造体の作成
struct Person{
var name: String
var age: Int
}
構造インスタンスの作成と初期化
var personInfo:Person = Person(name:"junseole",age:27)
var personInfo.age = 30 // 변경 가능
let personInfo2:Person = Person(name:"junseole",age:27)
personInfo2.name = "nojunseole" // 변경 불가
クラス(Class)
大文字のcamel caseで命名すればいいです.
PropertyとMethodは小文字のキャメルボックスを使用します.
クラスの作成
class Person{
var name:String = ""
var age:Int = 0
}
クラスインスタンスの作成と初期化
var personInfo:Person = Person()
personInfo.name = "junseole"
personInfo.age = 27
let personInfo2:Person = Person()
personInfo2.name = "junseole" //오류가 나지 않는다.
personInfo2.age = 27
クラスインスタンスの消失
class Person{
var name:String = ""
var age:Int = 0
deinit{
print("Person 클래스의 인스턴스가 소멸됩니다.")
}
}
var personInfo:Person? = Person()
personInfo = nil //Person 클래스의 인스턴스가 소멸됩니다.
構造とクラスの違い
同じところ
相違点
構造vsクラス
構造の値タイプクラスは参照タイプです
SWIFTのすべての基本データ型は構造体です
どちらが役に立つか
アップルのガイドラインでは、以下のいずれかの条件を満たす場合は、構造体を使用することを推奨します.
コピー値が
Reference
この問題について(Swift.Struct and Class), 我々は、より多くの情報をここで見つけました https://velog.io/@junstone1995/Swift.Struct-and-Classテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol