2014-01-20 42 views
0

我的應用程序很好,但是當我模擬didReceiveMemoryWarning時發生了一些奇怪的事情。 例如,在一個視圖中,我有一個UILabel,並在視圖控制器中更改其文本。 但是,當我模擬didReceiveMemoryWarning時,文本更改沒有在視圖中更新,儘管從日誌中我看到了正確的值。didReceiveMemoryWarning後標籤文字沒有變化

例如,在我的navController我在某個時刻:

NSLog(@"day label %@",self.dayYearController.labelData.text); 

和日誌說

day label 8 mer 2014 

但在self.dayController視圖中labelData還沒有該字符串! 爲什麼? 此外,self.dayYearController子視圖的drawRect:方法在發射didReceiveMemoryWarning信號後不再被調用。

[溶液]

我意識到,在navController我釋放子視圖如果收到一個didMemoryWarning信號,但是當我重新創建子視圖我沒有加在控制器作爲子控制器。子畫面的再創造的過程中還必須包括另外的控制器

回答

0

的消息將出現在以下順序:

didReceiveMemoryWarning 

viewDidUnload (which can be caused by 1) - obviously only applies to View Controller Classes. 

dealloc 

模擬之後讓你的IBOutlet中設置爲零的dealloc和你的觀點之前,將無法更新