セットアップ:
と がViewController ProblemView
ありclass A
ます。ProblemView
classに渡すA
ので、それに取り組むことができます。次のようになります (簡略化)。
class ProblemView: UIViewController{
var instanceOfA = A()
instanceOfA.passView(passedVC: self)
}
class A{
var workOn = ProblemView()
func passView(passedVC: ProblemView){
workOn = passedVC
// I noticed, if I declare a varible locally like var workOn2 = passedVC, my problem is solved -
// but I need the variable globally, because I don't want to pass it around within this class
}
func doSth(){
// here I interact with variables of the passed ViewController
}
}
問題:アプリ内でこのプロセスを再起動するたびに、メモリ エラーが発生するまでメモリが毎回増加します。
私が試したこと:deinit
両方のクラスに追加しました。class A
は常に初期化解除されますが、そうでclass ProblemView
はありません(これが問題でしょうか?)。workOn
また、グローバルに宣言せずに関数内で宣言すると、問題なく機能することもわかりましたpassView
。しかし、変数をグローバルに持つ必要があります。なぜなら、私はそれを のさまざまな関数内で使用するからですA
。この問題の解決策または回避策は何ですか?