我正在开发一个基于nvaigation的应用程序,我想在其中使用“全局变量”。 我使用AppDelegate类,在每个视图中我想访问变量,我喜欢以下内容:
·H
@interface Main : UIViewController{
iMEAppDelegate *datacenter;
}
@property (nonatomc, retain) iMEAppDelegate *datacenter;
@end
的.m
@synthesize dataCenter;
-(void)viewDidLoad{
[super viewDidLoad];
dataCenter = (iMEAppDelegate *)[[UIApplication sharedApplication] delegate];
}
现在第一次出现视图时它正常工作但导航到另一个时 一个并返回并按下具有以下代码的按钮,抛出EXC_BAD_ACCESS错误:
if ([dataCenter.userName isEqualToString:@""]){
SingIn *obj = [[SingIn alloc] initwithNimName:@"SingIn" bundle:nil];
[dataCenter.navController pushViewController:obj animated:YES];
[obj release];
我不确定为什么会发生这种情况,我认为这可能是一个内存管理问题,但我找不到解决方案。
请帮忙。
答案 0 :(得分:0)
根据您提供的代码,我猜您EXC_BAD_ACCESS的原因是您忘记保留AppDelegate的属性,例如: dataCenter.userName。