全局变量访问问题iphone

时间:2011-06-05 15:27:37

标签: iphone objective-c xcode global-variables

我正在开发一个基于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];

我不确定为什么会发生这种情况,我认为这可能是一个内存管理问题,但我找不到解决方案。

请帮忙。

1 个答案:

答案 0 :(得分:0)

根据您提供的代码,我猜您EXC_BAD_ACCESS的原因是您忘记保留AppDelegate的属性,例如: dataCenter.userName。