例えばある変数がfalseからtrueになった際に画像を表示などという事は出来るでしょうか?。
ある変数がある値になったかどうかを常に見張っているという様な事は可能でしょうか?例えばタイマーを動かしておいて1秒毎にその変数がtrueかfalseかどうかを見張っておいてtrueになった瞬間に画像のishidenをfalseにするとかしか思いつきませんでしたが、ずっとタイマーを回しておくのも無駄な気もするし何か他に良い方法はありますか?
-----追記----------
実際にはあるクラスhoge内にあるオブジェクトのishiddenをcheckedがtrueになった瞬間にtrueにしたいのですが、このcheckedは現在グローバル変数にしていて他のクラス内からtrueに変えたりfalseに変えたりという処理をします。そのためdidSetを使ったMonitorのインスタンもグローバルにしなければならないと思うのですが、その際didset内のメソッドはクラスhogeのオブジェクトのishiddenを変えなければなりません。この場合どうすれば良いでしょうか?Monitorのインスタンスをhoge内で作れれば良いのですが。。。
クラスhogeのインスタンスは、アプリ起動中は常に存在しているのでしょうか?
hogeはViewControllerなのですが、そういう場合は常に存在しているといっていいのでしょうか?その画面からpresentで他の画面に遷移したりします。
Root ViewController ということでしょうか?
起動後に開かれる画面になる時もあるし他の画面が最初に開かれる場合もあるのでRoot ViewControllerである場合もあるといった感じでしょうか・・・
質問の仕方を変えます。(1)hogeが存在しないときはcheckedを変更することは無いですか?(2)hogeが存在するときは常にrootViewControllerでしょうか?
もう一つ質問です。daisuke7さんの回答のコメントの中で「hogeVCの中にcheckedを作ってしまうとそれの変更が出来ないと思った」とありますが、なぜそう思ったのでしょうか?
(1)はあります。(2)は別のrootViewControllerからhogeをpresentで出すことがあるので常にrootViewControllerではないと思います!次に、hogeVCの中にcheckedがある場合他のクラスからVCの変数checkedを参照する方法が分からなかったからです。。。
(1)hoegが存在しないときにcheckedを変更した場合はどうするのでしょうか?(2)「変数checkedを参照する方法」が分からないのではなく、「hogeVC(のインスタンス)を参照する方法」が分からないのではないですか?
現在checkedはグローバル変数なのでhogeが存在しなくてもhogeの値は変更できます。そうですね、hogeVC(のインスタンス)を参照する方法が分からないです!
「hogeが存在しなくてもhogeの値は変更できます」←hogeが存在しないと変更できませんけど。存在しないものをどうやって変更するのでしょうか?
すみませんミスです、hogeが存在しなくてもcheckedは変更できます⇦です
checkedを変更できるかどうかは聞いていません。「checkedを変更した場合はどうするのでしょうか?」という質問です。
変更した場合何を、どうするという事でしょうか?変更した後どうするのか、という事であれば、checkedのTrue or Falseを見て挙動が変わる処理をその変更したクラス内で実行したり、変えるだけ変えて何もしなかったりします。
checkedを変更したときにisHiddenも変えたいけど、それが存在しないときはどうするんですか?と聞いています。
hogeVCが存在しない場合は何もせず、hogeVCがインスタン化された際にisHiddenをcheckedによって変えたいです!
回答1件
あなたの回答
tips
プレビュー