Проблема доступа к глобальным переменным iphone - PullRequest
0 голосов
/ 05 июня 2011

Я работаю над приложением на основе 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 голосов
/ 05 июня 2011

Исходя из предоставленного вами кода, я полагаю, что причиной вашего EXC_BAD_ACCESS является то, что вы забыли сохранить свойства вашего AppDelegate, например dataCenter.userName.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...