當我彈出我的viewcontroller
,在它的viewWillDisappear
方法中,我將viewcontroller
的數據本地化爲,並且將本地化完成,然後系統銷燬viewcontroller
?彈出一個具有asnyc任務的viewController,它會在iOS的任務完成之前破壞它嗎?
- (void)viewWillDisappear:(BOOL)animated {
[super viewWillDisappear:animated];
// localization method
[self localDataToSandbox];
}
- (void)localDataToSandbox {
if (self.buyDataSource.count > 0) {
NSMutableArray *arr_tmp;
if (self.buyDataSource.count > 20) {
arr_tmp = [[self.buyDataSource subarrayWithRange:NSMakeRange(0, 20)] mutableCopy];
}else {
arr_tmp = self.buyDataSource;
}
CacheManager *manager = [CacheManager sharedManager];
[manager cacheModelArray:arr_tmp toPath:[Util getTmpDirectory] withName:buy_cache];
}
}
UPDATE
我們知道,如果vc1
推vc2
,並vc2
流行到vc1
,該vc2
將被系統回收。
我的問題是如果當vc2
彈出到vc1
,請問viewWillDisappear
中的方法會中斷嗎?
...?我不明白這個問題 – ullstrm
這取決於'self'是否被任務捕獲。由於您沒有顯示代碼,我們無法回答。 – Avi
@Avi我已經更新了我的問題,你的意思是如果方法捕獲了「self」,它不會被銷燬? – aircraft