2016-12-17 2 views
-1

へのアクセス、私は次のように定義された変数を持っている:は私のクラスAでは他のViewControllerからのgetterメソッドとsetter

var auth_token:String? 
var _auth_token:String {get{return self.auth_token!} set{auth_token = newValue} 

今私は他のViewControllerクラスからこのauth_tokenにアクセスしたいです。どのように私はこれを達成することができます。私がクラスの新しいインスタンスを作成すると、期待どおりに返されません。

+0

クラスをシングルトンにする! _auth_tokenプロパティにアクセスしてください –

+1

2つの同様の変数を宣言する目的は何ですか?とにかく強制アンラップされている場合に 'auth_token'オプションはなぜオプションですか? – vadian

答えて

0

あなたはsharedInstanceという名前の静的変数とmyVariable変数と呼ばれる文字列変数が

クラスAにあります見ることができるようにあなたは、

輸入財団

class A { 
    static var sharedInstance = A() 
    var myVariable : String! = nil 

    private init() { 
     //no need for any implementation 
     //empty init removes all possibility of duplicate instance of class A 
    } 

} 

を使用して、クラスのシングルトンを作ることができます

sharedInstanceを静的として宣言し、プライベートinitの空の実装を提供すると、クラスAのシングルトンが作成されます。

今、あなたはすべてのあなたのVCが同じ値:)

を取得する場所あなたが使用してアクセスすることができますに関係なく、myVariable変数の値を設定していないものは何でも、

let test = A.sharedInstance.myVariable 

が、それは:)が楽しみ

をお持ちのお役に立てば幸いです
+0

ありがとうございます。私はあなたのアプローチを使用し、問題を解決することができました。 –

関連する問題