有沒有辦法知道一個視圖控制器是-viewWillAppear
和-viewWillDisappear
之間的視圖控制器生命週期的某個地方?知道何時-viewWillAppear觸發,但-viewWillDisappear還沒有
我問,因爲我想是該死的肯定,當我的看法是不是沒有在屏幕上,或即將從屏幕上消失的方法,不會觸發。當視圖即將從屏幕上消失時,我無法在運行時顯式檢查的某些對象可能被釋放,也可能不會被釋放,因此顯然,與它們交互會導致出現message sent to deallocated instance
錯誤。
目前,我跟蹤了BOOL
,像這樣:
- (void)viewWillAppear:(BOOL)animated {
isOnScreen = YES;
[super viewWillAppear:animated];
}
- (void)willWillDisappear:(BOOL)animated {
isOnScreen = NO;
[super viewWillAppear:animated];
}
而且我的方法是這樣的:
if (isOnScreen) [self doSomething];
有沒有一種簡單的方法來做到這一點?
大衛,你爲什麼要使用一個計時器來選擇註釋,而不是立即選擇呢? – Itay 2010-08-10 23:59:19
因爲註釋是動畫化他們的下降,意味着如果一個人立即選擇一個註釋,它的召喚是可見的,因爲它落在地圖上。看起來有點奇怪,恕我直言! – 2010-08-11 06:06:24
我同意。你可以在'mapView:didAddAnnotationViews:'中做選擇 - 只需設置一個布爾值來表示它需要選擇第一個布爾值,然後一旦添加它們就會被選中。 (我有類似的問題) – Itay 2010-08-11 18:23:49