2017-08-08 3 views
0

私は、ウェルカム画面でゲームを再開するか新しいゲームを開始することができるアプリケーションを作成しようとしています。どちらも同じクラスで処理されます。しかし、別のクラスで必要とされているように、ユーザーがレジュメや新しいゲームを押した際の気象情報をどうやって送るのか分かりません。また、両方のクラスの値を変更できることも重要です。私が見つけた解決策は、override func prepare(for segue: UIStoryboardSegue, sender: Any?)を使用することです。しかし、if文の内部ではオーバーライドを使用することができず、私はそれが動作しない原因と考えています。誰かがより良い解決策を知っていますか?ありがとう!Swift 3 - 別のクラスにブール値を送信

+0

UserDefaultsにそれを追加し、その値を使用します。 –

+0

UserDefaultsまたはPostNotificationを自由に設定できます。 – shahnilay86

答えて

1

UserDefaultsに追加し、そこから値を使用します。

ゲット/ /更新

UserDefaults.standard.set(true, forKey: "Key") //Bool 

フェッチする

UserDefaults.standard.bool(forKey: "Key") 
+0

ありがとうございます。それは私の時間を節約しました。 – Raja

0

の使用を追加するために、これは

import Foundation 

class Game: NSObject, NSCoding { 

    static var sharedInstance = Game(status: false) 

    var status = false 

    init(status: Bool) { 
     super.init() 
     self.status = status 
    } 

    required convenience init(coder aDecoder: NSCoder) { 
     var status: Bool = false 
     if (aDecoder.decodeObject(forKey: "status") as? Bool) != nil { 
      status = aDecoder.decodeObject(forKey: "status") as! Bool 
     } 

     self.init(status: status) 
    } 

    func encode(with aCoder: NSCoder) { 
     aCoder.encode(status, forKey: "status") 
    } 
} 

あなたはこのようにそれを使用することができます:

var option = Game.sharedInstance.status 
+0

これはすべてのクラスで使用できます – Sherman

関連する問題