我有一个基于导航栏的应用程序,在UIViewController中,我在选择照片时会收到一个内存警告。它已被处理,但当我弹出viewcontroller并返回顶级viewcontroller时,导航栏为空。其他所有内容都会重新加载,但导航栏按钮和标题不会。
下面是控制台日志的摘录,显示了内存警告时发生的情况:
09:55:25.864 -[PhotoBox setPhotoImage:] size {1536, 2048}
09:55:26.169 -[PhotoBox setPhotoImage:] resized to {768, 1024}
09:55:26.180 Received memory warning. Level=1
09:55:26.236 ClockMakerVC: viewDidUnload
09:55:26.240 -[ClockMakerVC didReceiveMemoryWarning]
09:55:26.271 saving 1 state objs to /var/mobile/Applications/82F2C13B-8663-4241-A603-B2BAD29691C1/Documents/ViewItem_State_Data
09:55:26.298 -[ItemSettingsVC didReceiveMemoryWarning]
此时,我点击导航栏上的后退箭头返回到父视图控制器,这将导致在其上加载viewDidLoad(因为它以前已卸载):
09:55:44.477 read 1 state objs from /var/mobile/Applications/82F2C13B-8663-4241-A603-B2BAD29691C1/Documents/ViewItem_State_Data
09:55:44.479 loadSavedItems: 295376119.689 opts=0 np=2 P=(284,402,200,200) L=(412,274,200,200) 1 PhotoBox
09:55:44.484 ClockMakerVC: viewDidLoad: 1 saved items loaded