Swift Static インスタンス
「呼び出される側」
class object: NSObject {
//頭にstatic
//現クラスのインスタンスを代入
static let instance = object()
var number = 0
var string = "a"
}
「呼び出す側 – ViewController」
class ViewController: UIViewController {
//object.swift
let sample = object.instance
override func viewDidLoad() {
super.viewDidLoad()
//インスタンスの初期値
print("\(sample.number) " + sample.string)
//値を変更
sample.number = 100
sample.string = "string"
//変更した値を表示
print("\(sample.number) " + sample.string)
}
}
「呼び出す側 – ViewController2」
class ViewController2: UIViewController {
//object.swift
let sample = object.instance
override func viewDidLoad() {
super.viewDidLoad()
//インスタンスの初期値
print("\(sample.number) " + sample.string)
//値を変更
sample.number = 777
sample.string = "end"
//変更した値を表示
print("\(sample.number) " + sample.string)
}
}