我正在以编程方式在我的视图控制器的 loadView 方法中创建一个视图。如下:
-(无效)加载视图 {
HPSFormView* viewForThisController = [ [ HPSFormView alloc ] initWithFrame:CGRectZero ] ; viewForThisController.controller = self; // Set a reference back to this controller so the View knows who to delegate stuff to when > adding controls self.view = viewForThisController; // Set the view for this controller to be the main menu view
}
我为三对不同的视图控制器和视图遵循了这种技术。我将视图控制器推送到 UINavigationController 堆栈上。每个视图都包含一个使用 push 的按钮。如下:
-(void)buttonTapped:(id)sender {
HPSFormController* formVC = [ [ HPSFormController alloc ] initWithNibName:nil bundle:nil ];
[(UINavigationController*) self.view.window.rootViewController pushViewController:formVC animated:YES];
}
我在 viewDidLoad 中没有任何代码——事实上,我的视图控制器中完全没有它。
一切正常,但是当我在 iOS 模拟器中执行模拟内存警告时,应用程序崩溃了。我认为问题在于我将视图定义为 loadView 中的“本地”变量的方式。
谁能告诉我我的 loadView 看起来是否正常,或者是否有必要以不同的方式定义 loadView 以避免无效引用等。
非常感谢。