Swiftノート:クラスと構造体
2362 ワード
定義:
クラスと構造体の例
Swiftでは、すべての構造体と列挙タイプが値タイプです.これは、インスタンス、およびインスタンスに含まれる任意の値タイプ属性が、コードに渡されるとコピーされることを意味します.
例ではcinemaという変数を宣言し、hdを割り当てます.Resolutionは構造体であるためcinemaの値はhd自体ではなくhdのコピーである.hdとcinemaは同じ幅(width)と高さ(height)を持っているが,背後では全く異なる2つの例である.
//
class SomeClass {
}
//
struct SomeStructure {
}
クラスと構造体の例
//
struct Resolution {
var width = 2
var height = 5
}
//
class VideoMode {
var resolution = Resolution()
var interlaced = false
var frameRate = 1.0
var name: String?
}
//
let someResolution = Resolution()
let someVideoMode = VideoMode()
//
print("\(someResolution.width)")
print("\(someVideoMode.frameRate)")
//2
//1.0
// Objective-C ,Swift 。
print("\(someVideoMode.resolution.width)")
someVideoMode.resolution.width = 10
print("\(someVideoMode.resolution.width)")
//2
//10
Swiftでは、すべての構造体と列挙タイプが値タイプです.これは、インスタンス、およびインスタンスに含まれる任意の値タイプ属性が、コードに渡されるとコピーされることを意味します.
let hd = Resolution(width: 1920, height: 1080)
var cinema = hd
例ではcinemaという変数を宣言し、hdを割り当てます.Resolutionは構造体であるためcinemaの値はhd自体ではなくhdのコピーである.hdとcinemaは同じ幅(width)と高さ(height)を持っているが,背後では全く異なる2つの例である.