賢い人々、
コードが多すぎてここに書き込めないため、一般的な質問です。一般的な回答が得られることを理解しています。どこで解決策を探すべきかについて、もう少しアイデアを得たいと思っています。これが私のセットアップです:
OpenGL view - "game view"
UIView - "city view"
ScrollView "city menu"
The scrollview uses 6 view controllers.
One viewController in scroll contains a tableView
「プレーヤー」が「都市」に入ると、スクロール ビューが表示され、すべてのビュー コントローラーとビオラが表示されます。
問題は、「プレーヤー」が「都市」を離れて次の都市に移動したときに、View Controller に最後の「都市」からの情報がまだ含まれていることです。
これは、次のにもかかわらずです。
スクロール ビューのすべてのビュー コントローラを含む配列は、「プレーヤー」が「都市」を離れると nil に設定されます。
「プレーヤー」が新しい「都市」に入ると、同じ配列が新しく割り当てられた配列に設定されます。
viewWillDisappear の場合、View Controller の ivar は nil に設定されます。
ビュー コントローラーの ivar は、初期化中に新しい配列に設定されます。
ビューコントローラーの初期化では、すべての ivar が初期化中に再初期化されます (viewWillAppear でも試しました)。
tableView は配列を使用して呼び出しています (前に説明した ivar)。
あらゆるアドバイスに感謝します。
え
- これが私を非常に夢中にさせている理由は、ビューコントローラーを使用してアレイを明らかにnilに割り当てているためです。これらのオブジェクトはすべて解放する必要があります。ジルチ。
解決済み: データ配列の 1 つの保持カウントが、どこかで任意に削減されているようです。私の唯一の推測は、tableView 遷移のどこかが縮小されているということです。ビューをありがとう。