から変数を取得します。それが呼び出されたときには、値をtrueに変更します。私は別の迅速クラスからこの変数にアクセスしたいだが、私は私のLevelOne.Swiftで変数セットがあるとしましょう、別のクラスのSpriteKitベース
func levelOneComplete(){
isLevelCompleted = true
}
。これをやり遂げるにはどうすればいいですか?私はいくつかの異なる方法を試しましたが、変数を認識することができません。
から変数を取得します。それが呼び出されたときには、値をtrueに変更します。私は別の迅速クラスからこの変数にアクセスしたいだが、私は私のLevelOne.Swiftで変数セットがあるとしましょう、別のクラスのSpriteKitベース
func levelOneComplete(){
isLevelCompleted = true
}
。これをやり遂げるにはどうすればいいですか?私はいくつかの異なる方法を試しましたが、変数を認識することができません。
これを行う最も簡単な方法は、変数をグローバルにすることです。そのため、クラス内にはまったく入っていません。これはいつも最も安全な方法ではないかもしれませんが、ほとんどの時間は機能し、とても簡単です。下の例では、私はset
とget
の両方の変数を持つことができる2つのクラスを持っています。isLevelCompleted
(クラスは明らかにUIViewControllerである必要はありません)。
var isLevelCompleted: Bool!
class LevelOne : UIViewController {
override func viewDidLoad() {
super.viewDidLoad() //Just an example
isLevelCompleted = true
}
}
class LevelTwo : UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
print(isLevelCompleted) // prints "true"
}
}
2つのクラスが2つの異なる高速ファイルにある場合はどうなりますか?それは可能ですか? –
はい、それは全く問題ではありません。 (これは表現に過ぎない、コンピュータには違いはない) – Eric
LevelOneクラスをシングルトンにする方法はありますか? – Raymond
普遍化しようとしましたか?これは私が外に出すことを意味します。たとえば、Import SpriteKit Var isLevelCompleted – sicvayne
2つのクラスが2つの異なる高速ファイルにある場合はどうなりますか?それは可能ですか? –