私はUIPageViewControllerの一部であるUIViewを持っています。 このビューに強いオブジェクトを渡し、解放に問題があります。UIViewライフサイクルでビューが破棄されるときを知る
私は以前、viewDidUnloadを使って強いオブジェクトを解放し、Deallocが呼び出されたと思います。今では、強い物のために取引は決して呼び出されません。
オブジェクトがもう必要でないことをUIPageViewControllerでicmに知らせる最良の方法は何ですか?私。ユーザーが見ているページの横に表示されている場合は、再び表示される可能性があります。だからviewWillDisappeartを使用して私は期待どおりに動作しません。
@interface DOTourFloorPlanViewController : UIViewController <UIScrollViewDelegate, DOAsyncImageViewDelegate> {
IBOutlet DOAsyncImageView* _imageView;
IBOutlet UIScrollView* _scrollView;
NSMutableArray* _beaconLabels;
UIView* _circle;
UIView* _centerDot;
DOTour* _tour;
CGRect _zoomRect;
int _circleCenterX;
int _circleCenterY;
bool _didZoomToLocation;
}
@property (strong, nonatomic) DOTour* tour;
あなたは保持サイクルを持っていますか?何か弱いですか?コードを表示せずに/オブジェクトが参照しているものを説明することは私たちが本当に助けることができません – Wain
私はそれを保持しない場合、NSFetchedResultsControllerから解放されるので、データを提供するコアデータオブジェクトを保持する必要があります。私は、ビューがもはや使用されなくなるときを知る方法を知らないので、このビューのオブジェクトをUICageViewVontrollerから解放するのがいつ安全であるか分かりません。 –
@Wain実際には、コードを見直しましたが、この瞬間に私はおそらくリンクを弱くすることができます。テストは今、それはそれを解決するようだ。あなたがその提案を答えにしたら、私はそれを受け入れます。 –