0

セットアップ: と がViewController ProblemViewありclass Aます。ProblemViewclassに渡す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。この問題の解決策または回避策は何ですか?

4

1 に答える 1