【swift】インスタンス変数、クラス変数、ローカル変数
//すべてのクラスから参照可能 let global_let = "global" //グローバル変数 class myClass: NSObject { public let aaa = "abc" //インスタンス変数(クラス内の共通変数)、インスタンス化すると他クラスから参照可能 let bbb = "def" //インスタンス変数(クラス内の共通変数)、インスタンス化すると他クラスから参照可能 private let ccc = "ghi" //インスタンス変数(クラス内の共通変数)、他クラスから参照不可 static let ddd = "jkl" //クラス変数、他クラスからmyClass.dddで参照可能 func method1(){ let xyz = "xyz" //ローカル変数 print("xyz=",xyz) //メソッド内でのみ有効 } }
//上記変数を他のクラスから参考 class ViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() print("global=",global_let) let myclass = myClass() //インスタンス化 print("aaa=",myclass.aaa) print("bbb=",myclass.bbb) // print("ccc=",myclass.ccc) //プライベート変数なのでエラーになる print("ddd=",myClass.ddd) myclass.method1() //myClassのmethod1を実行 } }
//実行結果 global= global aaa= abc bbb= def ddd= jkl xyz= xyz